1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346 |
- This is a Lynx -dump of the Kermit Project web page:
- http://kermitproject.org/ckupdates.html
- Current directory is /net/u/1/f/fdc/web/
- -rw-r--r-- 1 fdc kermit 0 Jun 2 2014 [1]#bronx24.txt#
- -rw-r--r-- 1 fdc kermit 45 Jun 2 2014 [2]#bronx495.txt#
- -rw-r--r-- 1 fdc kermit 19952 Feb 5 2016 [3]#change.html#
- -rw-r----- 1 fdc kermit 15712 Mar 15 2019 [4]#ftpclient-es.html
- #
- -rw-r----- 1 fdc kermit 24562 Mar 12 2019 [5]#index-es.html#
- -rw-r----- 1 fdc kermit 10717 Jun 26 10:51 [6]#kermit.css#
- -rw-r----- 1 fdc kermit 53078 Jun 26 10:28 [7]#kermit.html#
- -rw-r--r-- 1 fdc kermit 23253 May 3 2017 [8]#perf.html#
- -rw-r--r-- 1 fdc kermit 11830 Nov 11 2016 [9]#sitemap.xml#
- -rw-r--r-- 1 fdc kermit 62 Mar 2 2018 [10]0000.log
- -rw-r--r-- 1 fdc kermit 45681 Feb 8 2002 [11]10847.PDF
- -rw-r--r-- 1 fdc kermit 9152 Feb 11 2001 [12]1170.jpg
- -rw-r--r-- 1 fdc kermit 488864 Sep 6 2017 [13]123.html
- -rw-r--r-- 1 fdc kermit 0 May 26 1988 [14]19880526 00:00:00
- -rw-r--r-- 1 fdc kermit 0 Aug 22 1996 [15]19960822 00:00:00
- drwxr-xr-x 2 fdc kermit 17 Mar 10 2003 [16]206/
- drwxr-xr-x 2 fdc kermit 18 Mar 23 2017 [17]208/
- -rw-r--r-- 1 fdc kermit 243 Apr 14 2014 [18]412.txt
- -rw-r--r-- 1 fdc kermit 223 Apr 14 2014 [19]412.txt.~1~
- -rw-r--r-- 1 fdc kermit 185670 Jan 11 2003 [20]480.jpg
- -rw-r--r-- 1 fdc kermit 779 Dec 11 2002 [21]5cows.gif
- -rw-r--r-- 1 fdc kermit 1580 Jan 12 1996 [22]5rate.gif
- -rw-r--r-- 1 fdc kermit 852 Dec 11 2002 [23]5ratelg.gif
- -rw-r--r-- 1 fdc kermit 797 Dec 11 2002 [24]5ratesm.gif
- -rw-r--r-- 1 fdc kermit 1621 Jun 29 1998 [25]5star.gif
- -rw-r--r-- 1 fdc kermit 40145 Feb 1 2001 [26]AAVSYS.TXT
- -rw-r--r-- 1 fdc kermit 6758 Feb 12 2000 [27]BOOK.HTM
- lrwxrwxrwx 1 fdc kermit 16 Mar 27 2003 [28]COPYING.TXT -> ..
- /f/COPYING.TXT
- -rw-r--r-- 1 fdc kermit 437 Sep 23 2011 [29]ChangeEmail.sh
- -rw-r--r-- 1 fdc kermit 454 Sep 27 2011 [30]ChangeSupport.sh
- -rw-r--r-- 1 fdc kermit 466 Mar 30 2011 [31]ChangeURL.sh
- -rw-r--r-- 1 fdc kermit 22409 Nov 20 2002 [32]Cincinnati-Flat-R
- olls-vs-Kermit.pdf
- -rw-r--r-- 1 fdc kermit 114 Sep 18 2013 [33]IMAGES
- -rw-r--r-- 1 fdc kermit 27643 Oct 24 2005 [34]KermitComm.pdf
- lrwxrwx--- 1 fdc kermit 14 Jul 24 14:23 [35]NOTES.html -> cku
- pdates.html
- -rw-r--r-- 1 fdc kermit 332176 Sep 21 2004 [36]TRCFrances245_N5.
- jpg
- -rw-r--r-- 1 fdc kermit 40598 Apr 11 2004 [37]aavsys.txt
- -rw-r--r-- 1 fdc kermit 8975 Aug 25 2019 [38]aaxcom.html
- -rw-r--r-- 1 fdc kermit 1847 Sep 23 2011 [39]aaxfly.html
- -rw-r--r-- 1 fdc kermit 13866 Jan 1 2003 [40]aaxfly.txt
- -rw-r--r-- 1 fdc kermit 1051133 Dec 24 2019 [41]about-da.pdf
- lrwxrwx--- 1 fdc kermit 11 Jan 15 2017 [42]about.html -> ker
- mit.html
- -rw-r--r-- 1 fdc kermit 2687 Dec 6 1994 [43]ac2_i.gif
- -rw-r--r-- 1 fdc kermit 2255 Dec 7 1994 [44]ac2_i2.gif
- -rw-r--r-- 1 fdc kermit 3548 Dec 6 1994 [45]ac5_i.gif
- -rw-r--r-- 1 fdc kermit 3846 Dec 7 1994 [46]ac5_i2.gif
- -rw-r--r-- 1 fdc kermit 13110 Sep 23 2011 [47]academic.html
- -rw-r--r-- 1 fdc kermit 72486 Sep 13 08:12 [48]accents.html
- -rw-r--r-- 1 fdc kermit 71446 Sep 27 2011 [49]accents.html.~1~
- -rw-r--r-- 1 fdc kermit 68691 Jun 25 2003 [50]accents.save
- -rw-r--r-- 1 fdc kermit 1021 Sep 23 2011 [51]addme.html
- -rw-r--r-- 1 fdc kermit 1719 Sep 23 2011 [52]advanced.html
- -rw-r--r-- 1 fdc kermit 4663 Jun 20 2002 [53]aleph-sm.gif
- -rw-r--r-- 1 fdc kermit 22308 Jun 20 2002 [54]aleph.gif
- -rw-r--r-- 1 fdc kermit 4413 Jun 20 2002 [55]aleph_sm.gif
- -rw-r--r-- 1 fdc kermit 1287 Sep 23 2011 [56]amazon.html
- -rw-r--r-- 1 fdc kermit 22359 Apr 1 1995 [57]annex-a-75.gif
- -rw-r--r-- 1 fdc kermit 20709 Sep 25 2014 [58]anniversary.html
- -rw-r--r-- 1 fdc kermit 4391 Jul 11 2011 [59]announce.html
- -rw-r--r-- 1 fdc kermit 5123 Mar 10 2011 [60]announce01.html
- -rw-r--r-- 1 fdc kermit 1286 Apr 22 1999 [61]any.gif
- -rw-r--r-- 1 fdc kermit 3313 Sep 23 2011 [62]api.html
- -rw-r--r-- 1 fdc kermit 4498 Sep 25 2014 [63]appleii.html
- -rw-r--r-- 1 fdc kermit 4291 Mar 4 2003 [64]arabic.html
- -rw-r--r-- 1 fdc kermit 157209 Sep 5 13:44 [65]archive.html
- -rw-r--r-- 1 fdc kermit 157202 Apr 23 16:24 [66]archive.html.~10~
- -rw-r--r-- 1 fdc kermit 154824 Sep 25 2014 [67]archive.html.~1~
- -rw-r--r-- 1 fdc kermit 156472 Feb 10 2016 [68]archive.html.~2~
- -rw-r--r-- 1 fdc kermit 156816 Apr 9 11:07 [69]archive.html.~9~
- -rw-r--r-- 1 fdc kermit 4615 Sep 23 2011 [70]arrowkeys.html
- -rw-r--r-- 1 fdc kermit 4693 Feb 21 2000 [71]asap.html
- -rw-r--r-- 1 fdc kermit 8378 Sep 23 2011 [72]ascii.html
- -rw-r--r-- 1 fdc kermit 80 Nov 9 2001 [73]authnet.cfg
- -rw-r--r-- 1 fdc kermit 7716 Nov 9 2001 [74]authnet.cgi
- -rw-r--r-- 1 fdc kermit 13 Oct 15 2010 [75]b
- -rw-r--r-- 1 fdc kermit 138477 Sep 25 2014 [76]b.html
- -rw-r--r-- 1 fdc kermit 41463 Nov 19 2013 [77]backspace-100.jpg
- -rw-r--r-- 1 fdc kermit 66581 Nov 19 2013 [78]backspace-140.jpg
- -rw-r--r-- 1 fdc kermit 31034 Nov 24 2013 [79]backspace.html
- -rw-r--r-- 1 fdc kermit 30129 Nov 2 2013 [80]backspace.html.~1
- ~
- -rw-r--r-- 1 fdc kermit 31049 Nov 19 2013 [81]backspace.html.~2
- ~
- -rw-r--r-- 1 fdc kermit 1776 Mar 3 2018 [82]backup.ksc
- -rw-r--r-- 1 fdc kermit 1260 Mar 2 2018 [83]backup.ksc.~1~
- -rw-r--r-- 1 fdc kermit 1306 Mar 2 2018 [84]backup.ksc.~2~
- -rw-r--r-- 1 fdc kermit 1652 Mar 2 2018 [85]backup.ksc.~5~
- -rw-r--r-- 1 fdc kermit 1787 Mar 2 2018 [86]backup.ksc.~6~
- -rw-r--r-- 1 fdc kermit 12326 Dec 9 1994 [87]bacteria.gif
- -rw-r--r-- 1 fdc kermit 76423 Jun 18 2009 [88]banner-748.jpg
- -rw-r--r-- 1 fdc kermit 29468 Jun 18 2009 [89]banner-xxx.jpg
- -rw-r--r-- 1 fdc kermit 28614 Oct 26 2002 [90]banner.gif
- -rw-r--r-- 1 fdc kermit 27 Oct 15 2010 [91]be.txt
- -rw-r--r-- 1 fdc kermit 4206 Sep 16 2010 [92]benchmarks-160.jp
- g
- -rw-r--r-- 1 fdc kermit 12775 Sep 16 2010 [93]benchmarks-280.jp
- g
- -rw-r--r-- 1 fdc kermit 63875 Sep 16 2010 [94]benchmarks-740.jp
- g
- -rw-r--r-- 1 fdc kermit 194390 Sep 18 2013 [95]benchmarks-r.jpg
- -rw-r--r-- 1 fdc kermit 11763 Sep 18 2013 [96]benchmarks-t.jpg
- -rw-r--r-- 1 fdc kermit 1309 Sep 18 2013 [97]benchmarks.html
- -rw-r--r-- 1 fdc kermit 377318 Sep 16 2010 [98]benchmarks.jpg
- -rw-r--r-- 1 fdc kermit 20353 Mar 21 2010 [99]bggray-8.jpg
- -rw-r--r-- 1 fdc kermit 15062 Mar 21 2010 [100]bggray.jpg
- -rw-r--r-- 1 fdc kermit 12168 Nov 19 2009 [101]bglblue.jpg
- -rw-r--r-- 1 fdc kermit 15 Mar 22 2003 [102]bh
- -rw-r--r-- 1 fdc kermit 17171 Feb 28 2020 [103]biblio.html
- -rw-r--r-- 1 fdc kermit 15741 Oct 29 2013 [104]biblio.html.~1~
- -rw-r--r-- 1 fdc kermit 16636 Feb 10 2016 [105]biblio.html.~2~
- -rw-r--r-- 1 fdc kermit 17159 Feb 15 2016 [106]biblio.html.~3~
- -rw-r--r-- 1 fdc kermit 17170 Aug 25 2019 [107]biblio.html.~4~
- -rw-r--r-- 1 fdc kermit 6281 Apr 30 2002 [108]biblio.save-me
- -rw-r--r-- 1 fdc kermit 35554 Dec 31 1995 [109]bigfinish.gif
- drwxr-xr-x 2 fdc kermit 2 Jan 11 2015 [110]bin/
- -rw-r--r-- 1 fdc kermit 25425 Dec 6 1994 [111]biplane.gif
- -rw-r--r-- 1 fdc kermit 5074 Dec 6 1994 [112]biplane_icon.gif
- -rw-r--r-- 1 fdc kermit 1677442 Apr 22 2007 [113]black.html
- -rw-r--r-- 1 fdc kermit 2921 Mar 22 2013 [114]boeing787-100.jp
- g
- -rw-r--r-- 1 fdc kermit 63802 Mar 22 2013 [115]boeing787-1024.j
- pg
- -rw-r--r-- 1 fdc kermit 4785 Mar 22 2013 [116]boeing787-150.jp
- g
- -rw-r--r-- 1 fdc kermit 6904 Mar 22 2013 [117]boeing787-200.jp
- g
- -rw-r--r-- 1 fdc kermit 10603 Mar 22 2013 [118]boeing787-280.jp
- g
- -rw-r--r-- 1 fdc kermit 13684 Mar 22 2013 [119]boeing787-400.jp
- g
- -rw-r--r-- 1 fdc kermit 177199 Mar 22 2013 [120]boeing787-740.jp
- g
- -rw-r--r-- 1 fdc kermit 191354 Sep 18 2013 [121]boeing787-r.jpg
- -rw-r--r-- 1 fdc kermit 12377 Sep 18 2013 [122]boeing787-t.jpg
- -rw-r--r-- 1 fdc kermit 1162 Sep 18 2013 [123]boeing787.html
- lrwxrwxrwx 1 fdc kermit 17 Sep 18 2013 [124]boeing787.jpg ->
- boeing787-740.jpg
- -rw-r--r-- 1 fdc kermit 3784 Sep 27 2011 [125]book-gallery.htm
- l
- -rw-r--r-- 1 fdc kermit 16373 Mar 11 2011 [126]book-strip-1-080
- .jpg
- -rw-r--r-- 1 fdc kermit 24419 Mar 11 2011 [127]book-strip-1-100
- .jpg
- -rw-r--r-- 1 fdc kermit 46617 Mar 11 2011 [128]book-strip-1-150
- .jpg
- -rw-r--r-- 1 fdc kermit 74756 Mar 11 2011 [129]book-strip-1-200
- .jpg
- -rw-r--r-- 1 fdc kermit 133642 Mar 11 2011 [130]book-strip-1-280
- .jpg
- lrwxrwx--- 1 fdc kermit 12 Nov 11 2016 [131]books.html -> ma
- nuals.html
- -rw-r--r-- 1 fdc kermit 19466 Jul 28 2019 [132]booksonline.html
- -rw-r--r-- 1 fdc kermit 19121 Jul 14 2017 [133]booksonline.html
- .~10~
- -rw-r--r-- 1 fdc kermit 19141 Jul 27 2019 [134]booksonline.html
- .~11~
- -rw-r--r-- 1 fdc kermit 15808 Feb 9 2016 [135]booksonline.html
- .~1~
- -rw-r--r-- 1 fdc kermit 15999 Feb 10 2016 [136]booksonline.html
- .~2~
- -rw-r--r-- 1 fdc kermit 11012 Dec 6 1994 [137]boxes.gif
- -rw-r--r-- 1 fdc kermit 643 Dec 6 1994 [138]boxes_icon.gif
- -rw-r--r-- 1 fdc kermit 15699 Aug 24 2019 [139]brake.html
- drwxr-xr-x 11 fdc kermit 3518 Sep 15 14:33 [140]bronx/
- -rw-rw-r-- 1 fdc kermit 249154 May 21 2014 [141]bronx1.jpg
- -rw-rw-r-- 1 fdc kermit 327753 Sep 4 2013 [142]bronx10.jpg
- -rw-r--r-- 1 fdc kermit 38 Sep 26 2013 [143]bronx100.html
- -rw-rw-r-- 1 fdc kermit 357236 Sep 26 2013 [144]bronx100.jpg
- -rw-rw-r-- 1 fdc kermit 477700 May 11 2019 [145]bronx1000.jpg
- -rw-r--r-- 1 fdc kermit 230210 Sep 13 19:54 [146]bronx1001.jpg
- -rw-r--r-- 1 fdc kermit 61748 Sep 13 19:56 [147]bronx1002.jpg
- -rw-r--r-- 1 fdc kermit 66872 Sep 13 19:59 [148]bronx1003.jpg
- -rw-r--r-- 1 fdc kermit 58755 Sep 13 20:01 [149]bronx1004.jpg
- -rw-r--r-- 1 fdc kermit 28632 Sep 13 20:02 [150]bronx1005.jpg
- -rw-r--r-- 1 fdc kermit 290716 Sep 13 20:04 [151]bronx1006.jpg
- -rw-r--r-- 1 fdc kermit 109907 Sep 13 20:06 [152]bronx1007.jpg
- -rw-r--r-- 1 fdc kermit 243481 Sep 13 20:09 [153]bronx1008.jpg
- -rw-r--r-- 1 fdc kermit 269545 Sep 13 20:12 [154]bronx1009.jpg
- -rw-rw-r-- 1 fdc kermit 211082 Sep 26 2013 [155]bronx101.jpg
- -rw-r--r-- 1 fdc kermit 140790 Sep 13 20:19 [156]bronx1010.jpg
- -rw-r--r-- 1 fdc kermit 242483 Sep 13 20:21 [157]bronx1011.jpg
- -rw-r--r-- 1 fdc kermit 163232 Sep 13 20:22 [158]bronx1012.jpg
- -rw-r--r-- 1 fdc kermit 184350 Sep 13 20:23 [159]bronx1013.jpg
- -rw-r--r-- 1 fdc kermit 174881 Sep 13 20:40 [160]bronx1014.jpg
- -rw-r--r-- 1 fdc kermit 311893 Sep 13 20:42 [161]bronx1015.jpg
- -rw-r--r-- 1 fdc kermit 207170 Sep 13 20:44 [162]bronx1016.jpg
- -rw-r--r-- 1 fdc kermit 355280 Sep 13 20:44 [163]bronx1017.jpg
- -rw-r--r-- 1 fdc kermit 200364 Sep 13 20:46 [164]bronx1018.jpg
- -rw-r--r-- 1 fdc kermit 315050 Sep 15 13:48 [165]bronx1019.jpg
- -rw-rw-r-- 1 fdc kermit 392988 Sep 26 2013 [166]bronx102.jpg
- -rw-r--r-- 1 fdc kermit 251452 Sep 13 20:48 [167]bronx1020.jpg
- -rw-r--r-- 1 fdc kermit 250829 Sep 13 20:49 [168]bronx1021.jpg
- -rw-r--r-- 1 fdc kermit 218760 Sep 13 20:50 [169]bronx1022.jpg
- -rw-r--r-- 1 fdc kermit 73605 Sep 13 20:51 [170]bronx1023.jpg
- -rw-r--r-- 1 fdc kermit 207434 Sep 13 20:53 [171]bronx1024.jpg
- -rw-r--r-- 1 fdc kermit 278485 Sep 13 20:54 [172]bronx1025.jpg
- -rw-r--r-- 1 fdc kermit 153563 Sep 13 20:55 [173]bronx1026.jpg
- -rw-r--r-- 1 fdc kermit 158616 Sep 13 20:56 [174]bronx1027.jpg
- -rw-r--r-- 1 fdc kermit 413011 Sep 14 08:54 [175]bronx1028.jpg
- -rw-r--r-- 1 fdc kermit 361658 Sep 14 08:55 [176]bronx1029.jpg
- -rw-rw-r-- 1 fdc kermit 321483 Sep 26 2013 [177]bronx103.jpg
- -rw-r--r-- 1 fdc kermit 336561 Sep 14 08:55 [178]bronx1030.jpg
- -rw-r--r-- 1 fdc kermit 375971 Sep 14 08:56 [179]bronx1031.jpg
- -rw-r--r-- 1 fdc kermit 308456 Sep 14 08:58 [180]bronx1032.jpg
- -rw-r--r-- 1 fdc kermit 197403 Sep 15 13:45 [181]bronx1033.jpg
- -rw-r--r-- 1 fdc kermit 151858 Sep 14 09:02 [182]bronx1034.jpg
- -rw-r--r-- 1 fdc kermit 54406 Sep 14 09:05 [183]bronx1035.jpg
- -rw-r--r-- 1 fdc kermit 156902 Sep 14 09:07 [184]bronx1036.jpg
- -rw-r--r-- 1 fdc kermit 257580 Sep 14 10:47 [185]bronx1037.jpg
- -rw-r--r-- 1 fdc kermit 264818 Sep 14 10:48 [186]bronx1038.jpg
- -rw-r--r-- 1 fdc kermit 220956 Sep 14 10:50 [187]bronx1039.jpg
- -rw-rw-r-- 1 fdc kermit 300284 Sep 26 2013 [188]bronx104.jpg
- -rw-r--r-- 1 fdc kermit 174580 Sep 14 10:50 [189]bronx1040.jpg
- -rw-r--r-- 1 fdc kermit 207966 Sep 14 10:51 [190]bronx1041.jpg
- -rw-r--r-- 1 fdc kermit 199352 Sep 14 10:52 [191]bronx1042.jpg
- -rw-r--r-- 1 fdc kermit 292032 Sep 14 10:54 [192]bronx1043.jpg
- -rw-r--r-- 1 fdc kermit 344180 Sep 14 10:55 [193]bronx1044.jpg
- -rw-r--r-- 1 fdc kermit 352395 Sep 14 10:56 [194]bronx1045.jpg
- -rw-r--r-- 1 fdc kermit 191628 Sep 14 11:17 [195]bronx1046.jpg
- -rw-r--r-- 1 fdc kermit 334433 Sep 14 10:57 [196]bronx1047.jpg
- -rw-r--r-- 1 fdc kermit 205003 Sep 14 11:02 [197]bronx1048.jpg
- -rw-r--r-- 1 fdc kermit 309814 Sep 14 11:04 [198]bronx1049.jpg
- -rw-rw-r-- 1 fdc kermit 199766 Sep 26 2013 [199]bronx105.jpg
- -rw-r--r-- 1 fdc kermit 333060 Sep 14 09:08 [200]bronx1050.jpg
- -rw-r--r-- 1 fdc kermit 291409 Sep 14 09:11 [201]bronx1051.jpg
- -rw-r--r-- 1 fdc kermit 345362 Sep 14 09:13 [202]bronx1052.jpg
- -rw-r--r-- 1 fdc kermit 230990 Sep 14 09:14 [203]bronx1053.jpg
- -rw-r--r-- 1 fdc kermit 295557 Sep 14 09:15 [204]bronx1054.jpg
- -rw-r--r-- 1 fdc kermit 355048 Sep 14 09:16 [205]bronx1055.jpg
- -rw-r--r-- 1 fdc kermit 311899 Sep 14 10:01 [206]bronx1056.jpg
- -rw-r--r-- 1 fdc kermit 223809 Sep 14 10:03 [207]bronx1057.jpg
- -rw-r--r-- 1 fdc kermit 170912 Sep 14 10:05 [208]bronx1058.jpg
- -rw-r--r-- 1 fdc kermit 85293 Sep 14 10:09 [209]bronx1059.jpg
- -rw-rw-r-- 1 fdc kermit 346302 Sep 26 2013 [210]bronx106.jpg
- -rw-r--r-- 1 fdc kermit 239978 Sep 14 10:12 [211]bronx1060.jpg
- -rw-r--r-- 1 fdc kermit 400925 Sep 14 10:13 [212]bronx1061.jpg
- -rw-r--r-- 1 fdc kermit 422951 Sep 14 10:14 [213]bronx1062.jpg
- -rw-r--r-- 1 fdc kermit 12395806 Aug 5 11:29 [214]bronx1063.gif
- -rw-r--r-- 1 fdc kermit 126987 Sep 14 10:16 [215]bronx1064.jpg
- -rw-r--r-- 1 fdc kermit 276545 Sep 14 10:17 [216]bronx1065.jpg
- -rw-rw-r-- 1 fdc kermit 261843 Sep 26 2013 [217]bronx107.jpg
- -rw-rw-r-- 1 fdc kermit 216792 Sep 26 2013 [218]bronx108.jpg
- -rw-rw-r-- 1 fdc kermit 327998 Sep 26 2013 [219]bronx109.jpg
- -rw-rw-r-- 1 fdc kermit 323094 Sep 4 2013 [220]bronx11.jpg
- -rw-rw-r-- 1 fdc kermit 386652 Sep 26 2013 [221]bronx110.jpg
- -rw-rw-r-- 1 fdc kermit 286433 Sep 26 2013 [222]bronx111.jpg
- -rw-rw-r-- 1 fdc kermit 243024 Sep 26 2013 [223]bronx112.jpg
- -rw-rw-r-- 1 fdc kermit 350870 Sep 26 2013 [224]bronx113.jpg
- -rw-rw-r-- 1 fdc kermit 360963 Sep 26 2013 [225]bronx114.jpg
- -rw-rw-r-- 1 fdc kermit 328830 Sep 26 2013 [226]bronx115.jpg
- -rw-rw-r-- 1 fdc kermit 359106 Sep 26 2013 [227]bronx116.jpg
- -rw-rw-r-- 1 fdc kermit 311197 Sep 26 2013 [228]bronx117.jpg
- -rw-rw-r-- 1 fdc kermit 339278 Sep 26 2013 [229]bronx118.jpg
- -rw-rw-r-- 1 fdc kermit 385296 Sep 26 2013 [230]bronx119.jpg
- -rw-rw-r-- 1 fdc kermit 320932 Sep 4 2013 [231]bronx12.jpg
- -rw-rw-r-- 1 fdc kermit 351389 Sep 26 2013 [232]bronx120.jpg
- -rw-rw-r-- 1 fdc kermit 248810 Sep 26 2013 [233]bronx121.jpg
- -rw-rw-r-- 1 fdc kermit 300552 Sep 26 2013 [234]bronx122.jpg
- -rw-rw-r-- 1 fdc kermit 264466 Sep 26 2013 [235]bronx123.jpg
- -rw-rw-r-- 1 fdc kermit 379845 Sep 26 2013 [236]bronx124.jpg
- -rw-rw-r-- 1 fdc kermit 325089 Sep 26 2013 [237]bronx125.jpg
- -rw-rw-r-- 1 fdc kermit 432430 Sep 26 2013 [238]bronx126.jpg
- -rw-rw-r-- 1 fdc kermit 165622 Sep 26 2013 [239]bronx127.jpg
- -rw-rw-r-- 1 fdc kermit 212785 Sep 26 2013 [240]bronx128.jpg
- -rw-rw-r-- 1 fdc kermit 248679 Sep 27 2013 [241]bronx129.jpg
- -rw-rw-r-- 1 fdc kermit 199041 Sep 4 2013 [242]bronx13.jpg
- -rw-rw-r-- 1 fdc kermit 125167 Sep 27 2013 [243]bronx130.jpg
- -rw-rw-r-- 1 fdc kermit 147606 Sep 27 2013 [244]bronx131.jpg
- -rw-rw-r-- 1 fdc kermit 385738 Jun 2 2014 [245]bronx132.jpg
- -rw-rw-r-- 1 fdc kermit 370022 Jun 2 2014 [246]bronx133.jpg
- -rw-rw-r-- 1 fdc kermit 298350 Sep 27 2013 [247]bronx134.jpg
- -rw-rw-r-- 1 fdc kermit 256683 Sep 27 2013 [248]bronx135.jpg
- -rw-rw-r-- 1 fdc kermit 269994 Sep 27 2013 [249]bronx136.jpg
- -rw-rw-r-- 1 fdc kermit 116912 Sep 27 2013 [250]bronx137.jpg
- -rw-rw-r-- 1 fdc kermit 274621 Sep 27 2013 [251]bronx138.jpg
- -rw-rw-r-- 1 fdc kermit 269187 Sep 27 2013 [252]bronx139.jpg
- -rw-rw-r-- 1 fdc kermit 293611 Sep 4 2013 [253]bronx14.jpg
- -rw-rw-r-- 1 fdc kermit 305463 Sep 27 2013 [254]bronx140.jpg
- -rw-rw-r-- 1 fdc kermit 327953 Sep 27 2013 [255]bronx141.jpg
- -rw-rw-r-- 1 fdc kermit 296757 Sep 27 2013 [256]bronx142.jpg
- -rw-rw-r-- 1 fdc kermit 356332 Sep 27 2013 [257]bronx143.jpg
- -rw-rw-r-- 1 fdc kermit 265843 Sep 27 2013 [258]bronx144.jpg
- -rw-rw-r-- 1 fdc kermit 220932 Sep 27 2013 [259]bronx145.jpg
- -rw-rw-r-- 1 fdc kermit 256683 Sep 27 2013 [260]bronx146.jpg
- -rw-rw-r-- 1 fdc kermit 247781 Oct 5 2013 [261]bronx147.jpg
- -rw-rw-r-- 1 fdc kermit 253456 Oct 5 2013 [262]bronx148.jpg
- -rw-rw-r-- 1 fdc kermit 347875 Oct 5 2013 [263]bronx149.jpg
- -rw-rw-r-- 1 fdc kermit 379139 Sep 25 2013 [264]bronx15.jpg
- -rw-rw-r-- 1 fdc kermit 240242 Oct 5 2013 [265]bronx150.jpg
- -rw-rw-r-- 1 fdc kermit 223226 Oct 5 2013 [266]bronx151.jpg
- -rw-rw-r-- 1 fdc kermit 66061 Oct 5 2013 [267]bronx152.jpg
- -rw-rw-r-- 1 fdc kermit 58200 Oct 8 2013 [268]bronx153.jpg
- -rw-rw-r-- 1 fdc kermit 147592 Oct 14 2013 [269]bronx154.jpg
- -rw-rw-r-- 1 fdc kermit 286324 Oct 14 2013 [270]bronx155.jpg
- -rw-rw-r-- 1 fdc kermit 269414 Oct 14 2013 [271]bronx156.jpg
- -rw-rw-r-- 1 fdc kermit 146440 Oct 14 2013 [272]bronx157.jpg
- -rw-rw-r-- 1 fdc kermit 306994 Oct 14 2013 [273]bronx158.jpg
- -rw-rw-r-- 1 fdc kermit 181972 Oct 14 2013 [274]bronx159.jpg
- -rw-rw-r-- 1 fdc kermit 298656 Sep 4 2013 [275]bronx16.jpg
- -rw-rw-r-- 1 fdc kermit 286169 Oct 14 2013 [276]bronx160.jpg
- -rw-rw-r-- 1 fdc kermit 272485 Oct 14 2013 [277]bronx161.jpg
- -rw-rw-r-- 1 fdc kermit 327774 Oct 14 2013 [278]bronx162.jpg
- -rw-rw-r-- 1 fdc kermit 135396 Oct 14 2013 [279]bronx163.jpg
- -rw-rw-r-- 1 fdc kermit 278258 Oct 14 2013 [280]bronx164.jpg
- -rw-rw-r-- 1 fdc kermit 321922 Oct 14 2013 [281]bronx165.jpg
- -rw-rw-r-- 1 fdc kermit 359608 Oct 14 2013 [282]bronx166.jpg
- -rw-rw-r-- 1 fdc kermit 268130 Oct 14 2013 [283]bronx167.jpg
- -rw-rw-r-- 1 fdc kermit 256593 Oct 14 2013 [284]bronx168.jpg
- -rw-rw-r-- 1 fdc kermit 315869 Oct 14 2013 [285]bronx169.jpg
- -rw-rw-r-- 1 fdc kermit 226716 Sep 4 2013 [286]bronx17.jpg
- -rw-rw-r-- 1 fdc kermit 411443 Oct 14 2013 [287]bronx170.jpg
- -rw-rw-r-- 1 fdc kermit 251179 Oct 14 2013 [288]bronx171.jpg
- -rw-rw-r-- 1 fdc kermit 350043 Oct 14 2013 [289]bronx172.jpg
- -rw-rw-r-- 1 fdc kermit 313576 Oct 14 2013 [290]bronx173.jpg
- -rw-rw-r-- 1 fdc kermit 337530 Oct 14 2013 [291]bronx174.jpg
- -rw-rw-r-- 1 fdc kermit 340702 Oct 14 2013 [292]bronx175.jpg
- -rw-rw-r-- 1 fdc kermit 203620 Oct 14 2013 [293]bronx176.jpg
- -rw-rw-r-- 1 fdc kermit 115821 Oct 15 2013 [294]bronx177.jpg
- -rw-rw-r-- 1 fdc kermit 313194 Oct 15 2013 [295]bronx178.jpg
- -rw-rw-r-- 1 fdc kermit 350468 Oct 15 2013 [296]bronx179.jpg
- -rw-rw-r-- 1 fdc kermit 266152 Sep 4 2013 [297]bronx18.jpg
- -rw-rw-r-- 1 fdc kermit 312532 Oct 15 2013 [298]bronx180.jpg
- -rw-rw-r-- 1 fdc kermit 272849 Oct 15 2013 [299]bronx181.jpg
- -rw-rw-r-- 1 fdc kermit 354403 Oct 15 2013 [300]bronx182.jpg
- -rw-rw-r-- 1 fdc kermit 249458 Oct 15 2013 [301]bronx183.jpg
- -rw-rw-r-- 1 fdc kermit 294908 Oct 15 2013 [302]bronx184.jpg
- -rw-rw-r-- 1 fdc kermit 265118 Oct 15 2013 [303]bronx185.jpg
- -rw-rw-r-- 1 fdc kermit 283230 Oct 15 2013 [304]bronx186.jpg
- -rw-rw-r-- 1 fdc kermit 256445 Oct 15 2013 [305]bronx187.jpg
- -rw-rw-r-- 1 fdc kermit 353889 Oct 30 2013 [306]bronx188.jpg
- -rw-rw-r-- 1 fdc kermit 319421 Oct 30 2013 [307]bronx189.jpg
- -rw-rw-r-- 1 fdc kermit 291643 Sep 4 2013 [308]bronx19.jpg
- -rw-rw-r-- 1 fdc kermit 417417 Oct 30 2013 [309]bronx190.jpg
- -rw-rw-r-- 1 fdc kermit 321830 Oct 30 2013 [310]bronx191.jpg
- -rw-rw-r-- 1 fdc kermit 265362 Oct 30 2013 [311]bronx192.jpg
- -rw-rw-r-- 1 fdc kermit 224580 Oct 30 2013 [312]bronx193.jpg
- -rw-rw-r-- 1 fdc kermit 251909 Oct 30 2013 [313]bronx194.jpg
- -rw-rw-r-- 1 fdc kermit 288822 Oct 30 2013 [314]bronx195.jpg
- -rw-rw-r-- 1 fdc kermit 166040 Oct 30 2013 [315]bronx196.jpg
- -rw-rw-r-- 1 fdc kermit 397865 Oct 30 2013 [316]bronx197.jpg
- -rw-rw-r-- 1 fdc kermit 318862 Nov 3 2013 [317]bronx198.jpg
- -rw-rw-r-- 1 fdc kermit 345919 Nov 3 2013 [318]bronx199.jpg
- -rw-rw-r-- 1 fdc kermit 302080 Sep 4 2013 [319]bronx2.jpg
- -rw-rw-r-- 1 fdc kermit 336726 Sep 25 2013 [320]bronx20.jpg
- -rw-rw-r-- 1 fdc kermit 94505 Nov 3 2013 [321]bronx200.jpg
- -rw-rw-r-- 1 fdc kermit 173718 Nov 3 2013 [322]bronx201.jpg
- -rw-rw-r-- 1 fdc kermit 267307 Nov 3 2013 [323]bronx202.jpg
- -rw-rw-r-- 1 fdc kermit 330537 Nov 3 2013 [324]bronx203.jpg
- -rw-rw-r-- 1 fdc kermit 371165 Nov 3 2013 [325]bronx204.jpg
- -rw-rw-r-- 1 fdc kermit 359075 Nov 3 2013 [326]bronx205.jpg
- -rw-rw-r-- 1 fdc kermit 387798 Nov 3 2013 [327]bronx206.jpg
- -rw-rw-r-- 1 fdc kermit 370508 Nov 3 2013 [328]bronx207.jpg
- -rw-rw-r-- 1 fdc kermit 243946 Nov 3 2013 [329]bronx208.jpg
- -rw-rw-r-- 1 fdc kermit 348153 Nov 11 2013 [330]bronx209.jpg
- -rw-rw-r-- 1 fdc kermit 203891 Sep 4 2013 [331]bronx21.jpg
- -rw-rw-r-- 1 fdc kermit 341286 Nov 11 2013 [332]bronx210.jpg
- -rw-rw-r-- 1 fdc kermit 230906 Nov 11 2013 [333]bronx211.jpg
- -rw-rw-r-- 1 fdc kermit 390120 Nov 11 2013 [334]bronx212.jpg
- -rw-rw-r-- 1 fdc kermit 225185 Nov 16 2013 [335]bronx213.jpg
- -rw-rw-r-- 1 fdc kermit 192715 Nov 16 2013 [336]bronx214.jpg
- -rw-rw-r-- 1 fdc kermit 137646 Nov 16 2013 [337]bronx215.jpg
- -rw-rw-r-- 1 fdc kermit 412955 Nov 16 2013 [338]bronx216.jpg
- -rw-rw-r-- 1 fdc kermit 411911 Nov 16 2013 [339]bronx217.jpg
- -rw-rw-r-- 1 fdc kermit 326782 Nov 16 2013 [340]bronx218.jpg
- -rw-rw-r-- 1 fdc kermit 358085 Nov 16 2013 [341]bronx219.jpg
- -rw-rw-r-- 1 fdc kermit 223388 Sep 4 2013 [342]bronx22.jpg
- -rw-rw-r-- 1 fdc kermit 248930 Nov 29 2013 [343]bronx220.jpg
- -rw-rw-r-- 1 fdc kermit 411885 Nov 19 2013 [344]bronx221.jpg
- -rw-rw-r-- 1 fdc kermit 477560 Nov 19 2013 [345]bronx222.jpg
- -rw-rw-r-- 1 fdc kermit 364611 Nov 24 2013 [346]bronx223.jpg
- -rw-rw-r-- 1 fdc kermit 235598 Nov 24 2013 [347]bronx224.jpg
- -rw-rw-r-- 1 fdc kermit 313244 Nov 24 2013 [348]bronx225.jpg
- -rw-rw-r-- 1 fdc kermit 43936 Nov 29 2013 [349]bronx226.jpg
- -rw-rw-r-- 1 fdc kermit 169280 Nov 29 2013 [350]bronx227.jpg
- -rw-rw-r-- 1 fdc kermit 395268 Dec 14 2013 [351]bronx228.jpg
- -rw-rw-r-- 1 fdc kermit 306933 Dec 14 2013 [352]bronx229.jpg
- -rw-rw-r-- 1 fdc kermit 220710 Sep 4 2013 [353]bronx23.jpg
- -rw-rw-r-- 1 fdc kermit 372346 Dec 14 2013 [354]bronx230.jpg
- -rw-rw-r-- 1 fdc kermit 88682 Dec 14 2013 [355]bronx231.jpg
- -rw-rw-r-- 1 fdc kermit 68703 Dec 14 2013 [356]bronx232.jpg
- -rw-rw-r-- 1 fdc kermit 253056 Dec 14 2013 [357]bronx233.jpg
- -rw-rw-r-- 1 fdc kermit 283327 Dec 14 2013 [358]bronx234.jpg
- -rw-rw-r-- 1 fdc kermit 135123 Dec 14 2013 [359]bronx235.jpg
- -rw-rw-r-- 1 fdc kermit 86701 Dec 14 2013 [360]bronx236.jpg
- -rw-rw-r-- 1 fdc kermit 151369 Dec 14 2013 [361]bronx237.jpg
- -rw-rw-r-- 1 fdc kermit 473329 Dec 14 2013 [362]bronx238.jpg
- -rw-rw-r-- 1 fdc kermit 429753 Dec 14 2013 [363]bronx239.jpg
- -rw-rw-r-- 1 fdc kermit 195998 Sep 4 2013 [364]bronx24.jpg
- -rw-rw-r-- 1 fdc kermit 253233 Dec 14 2013 [365]bronx240.jpg
- -rw-rw-r-- 1 fdc kermit 246917 Dec 14 2013 [366]bronx241.jpg
- -rw-rw-r-- 1 fdc kermit 204845 Dec 14 2013 [367]bronx242.jpg
- -rw-rw-r-- 1 fdc kermit 160246 Dec 14 2013 [368]bronx243.jpg
- -rw-rw-r-- 1 fdc kermit 231842 Dec 14 2013 [369]bronx244.jpg
- -rw-rw-r-- 1 fdc kermit 250671 Dec 21 2013 [370]bronx245.jpg
- -rw-rw-r-- 1 fdc kermit 108482 Dec 21 2013 [371]bronx246.jpg
- -rw-rw-r-- 1 fdc kermit 262667 Dec 28 2013 [372]bronx247.jpg
- -rw-rw-r-- 1 fdc kermit 321698 Dec 28 2013 [373]bronx248.jpg
- -rw-rw-r-- 1 fdc kermit 129188 Dec 28 2013 [374]bronx249.jpg
- -rw-rw-r-- 1 fdc kermit 235597 Sep 4 2013 [375]bronx25.jpg
- -rw-rw-r-- 1 fdc kermit 164782 Dec 28 2013 [376]bronx250.jpg
- -rw-rw-r-- 1 fdc kermit 160268 Dec 28 2013 [377]bronx251.jpg
- -rw-rw-r-- 1 fdc kermit 269810 Dec 28 2013 [378]bronx252.jpg
- -rw-rw-r-- 1 fdc kermit 159871 Dec 28 2013 [379]bronx253.jpg
- -rw-rw-r-- 1 fdc kermit 312336 Dec 28 2013 [380]bronx254.jpg
- -rw-rw-r-- 1 fdc kermit 270451 Dec 28 2013 [381]bronx255.jpg
- -rw-rw-r-- 1 fdc kermit 212286 Jan 4 2014 [382]bronx256.jpg
- -rw-rw-r-- 1 fdc kermit 209529 Dec 28 2013 [383]bronx257.jpg
- -rw-rw-r-- 1 fdc kermit 139238 Jan 4 2014 [384]bronx258.jpg
- -rw-rw-r-- 1 fdc kermit 295152 Jan 23 2014 [385]bronx259.jpg
- -rw-rw-r-- 1 fdc kermit 182492 Sep 4 2013 [386]bronx26.jpg
- -rw-rw-r-- 1 fdc kermit 313881 Jan 23 2014 [387]bronx260.jpg
- -rw-rw-r-- 1 fdc kermit 227034 Jan 23 2014 [388]bronx261.jpg
- -rw-rw-r-- 1 fdc kermit 193903 Jan 23 2014 [389]bronx262.jpg
- -rw-rw-r-- 1 fdc kermit 180822 Jan 23 2014 [390]bronx263.jpg
- -rw-rw-r-- 1 fdc kermit 89960 Jan 23 2014 [391]bronx264.jpg
- -rw-rw-r-- 1 fdc kermit 138012 Jan 23 2014 [392]bronx265.jpg
- -rw-rw-r-- 1 fdc kermit 193378 Jan 23 2014 [393]bronx266.jpg
- -rw-rw-r-- 1 fdc kermit 201003 Jan 23 2014 [394]bronx267.jpg
- -rw-rw-r-- 1 fdc kermit 123640 Feb 7 2014 [395]bronx268.jpg
- -rw-rw-r-- 1 fdc kermit 284138 Feb 7 2014 [396]bronx269.jpg
- -rw-rw-r-- 1 fdc kermit 182215 Sep 4 2013 [397]bronx27.jpg
- -rw-rw-r-- 1 fdc kermit 127214 Jan 23 2014 [398]bronx270.jpg
- -rw-rw-r-- 1 fdc kermit 227317 Jan 23 2014 [399]bronx271.jpg
- -rw-rw-r-- 1 fdc kermit 325934 Feb 7 2014 [400]bronx272.jpg
- -rw-rw-r-- 1 fdc kermit 82447 Jan 30 2014 [401]bronx273.jpg
- -rw-rw-r-- 1 fdc kermit 308660 Feb 1 2014 [402]bronx274.jpg
- -rw-rw-r-- 1 fdc kermit 189195 Feb 4 2014 [403]bronx275.jpg
- -rw-rw-r-- 1 fdc kermit 287030 Feb 4 2014 [404]bronx276.jpg
- -rw-rw-r-- 1 fdc kermit 236393 Feb 4 2014 [405]bronx277.jpg
- -rw-rw-r-- 1 fdc kermit 285307 Feb 4 2014 [406]bronx278.jpg
- -rw-rw-r-- 1 fdc kermit 339855 Feb 4 2014 [407]bronx279.jpg
- -rw-rw-r-- 1 fdc kermit 187245 Sep 4 2013 [408]bronx28.jpg
- -rw-rw-r-- 1 fdc kermit 283892 Feb 4 2014 [409]bronx280.jpg
- -rw-rw-r-- 1 fdc kermit 129282 Feb 4 2014 [410]bronx281.jpg
- -rw-rw-r-- 1 fdc kermit 222884 Feb 4 2014 [411]bronx282.jpg
- -rw-rw-r-- 1 fdc kermit 345898 Feb 7 2014 [412]bronx283.jpg
- -rw-rw-r-- 1 fdc kermit 70079 Feb 7 2014 [413]bronx284.jpg
- -rw-rw-r-- 1 fdc kermit 246807 Feb 7 2014 [414]bronx285.jpg
- -rw-rw-r-- 1 fdc kermit 49717 Feb 15 2014 [415]bronx286.jpg
- -rw-rw-r-- 1 fdc kermit 256017 Feb 15 2014 [416]bronx287.jpg
- -rw-rw-r-- 1 fdc kermit 103474 Feb 15 2014 [417]bronx288.jpg
- -rw-rw-r-- 1 fdc kermit 422294 Feb 15 2014 [418]bronx289.jpg
- -rw-rw-r-- 1 fdc kermit 56696 Sep 11 2013 [419]bronx29.jpg
- -rw-rw-r-- 1 fdc kermit 149813 Feb 22 2014 [420]bronx290.jpg
- -rw-rw-r-- 1 fdc kermit 406910 Feb 22 2014 [421]bronx291.jpg
- -rw-rw-r-- 1 fdc kermit 292614 Feb 22 2014 [422]bronx292.jpg
- -rw-rw-r-- 1 fdc kermit 264437 Feb 22 2014 [423]bronx293.jpg
- -rw-rw-r-- 1 fdc kermit 353100 Feb 22 2014 [424]bronx294.jpg
- -rw-rw-r-- 1 fdc kermit 285619 Feb 22 2014 [425]bronx295.jpg
- -rw-rw-r-- 1 fdc kermit 319862 Feb 22 2014 [426]bronx296.jpg
- -rw-rw-r-- 1 fdc kermit 190451 Feb 22 2014 [427]bronx297.jpg
- -rw-rw-r-- 1 fdc kermit 300387 Feb 22 2014 [428]bronx298.jpg
- -rw-rw-r-- 1 fdc kermit 285288 Feb 22 2014 [429]bronx299.jpg
- -rw-rw-r-- 1 fdc kermit 345504 Sep 4 2013 [430]bronx3.jpg
- -rw-rw-r-- 1 fdc kermit 36978 Sep 11 2013 [431]bronx30.jpg
- -rw-rw-r-- 1 fdc kermit 288611 Feb 22 2014 [432]bronx300.jpg
- -rw-r--r-- 1 fdc kermit 288611 Feb 22 2014 [433]bronx300.jpg.~1~
- -rw-rw-r-- 1 fdc kermit 304659 Apr 4 2014 [434]bronx301.jpg
- -rw-rw-r-- 1 fdc kermit 284901 Apr 4 2014 [435]bronx302.jpg
- -rw-rw-r-- 1 fdc kermit 406093 Apr 4 2014 [436]bronx303.jpg
- -rw-rw-r-- 1 fdc kermit 384201 Apr 4 2014 [437]bronx304.jpg
- -rw-rw-r-- 1 fdc kermit 314485 Apr 4 2014 [438]bronx305.jpg
- -rw-rw-r-- 1 fdc kermit 240793 Apr 4 2014 [439]bronx306.jpg
- -rw-rw-r-- 1 fdc kermit 183966 Apr 4 2014 [440]bronx307.jpg
- -rw-rw-r-- 1 fdc kermit 220230 Apr 4 2014 [441]bronx308.jpg
- -rw-rw-r-- 1 fdc kermit 324158 Apr 4 2014 [442]bronx309.jpg
- -rw-rw-r-- 1 fdc kermit 183918 Sep 13 2013 [443]bronx31.jpg
- -rw-rw-r-- 1 fdc kermit 239634 Apr 4 2014 [444]bronx310.jpg
- -rw-rw-r-- 1 fdc kermit 183539 Apr 4 2014 [445]bronx311.jpg
- -rw-rw-r-- 1 fdc kermit 218992 Apr 4 2014 [446]bronx312.jpg
- -rw-rw-r-- 1 fdc kermit 241701 Apr 4 2014 [447]bronx313.jpg
- -rw-rw-r-- 1 fdc kermit 191971 Apr 4 2014 [448]bronx314.jpg
- -rw-rw-r-- 1 fdc kermit 212001 Apr 4 2014 [449]bronx315.jpg
- -rw-rw-r-- 1 fdc kermit 167889 Apr 4 2014 [450]bronx316.jpg
- -rw-rw-r-- 1 fdc kermit 304507 Apr 4 2014 [451]bronx317.jpg
- -rw-rw-r-- 1 fdc kermit 260101 Apr 4 2014 [452]bronx318.jpg
- -rw-rw-r-- 1 fdc kermit 233103 Apr 4 2014 [453]bronx319.jpg
- -rw-rw-r-- 1 fdc kermit 157513 Sep 13 2013 [454]bronx32.jpg
- -rw-rw-r-- 1 fdc kermit 286325 Apr 4 2014 [455]bronx320.jpg
- -rw-rw-r-- 1 fdc kermit 386160 Apr 4 2014 [456]bronx321.jpg
- -rw-rw-r-- 1 fdc kermit 289758 Apr 4 2014 [457]bronx322.jpg
- -rw-rw-r-- 1 fdc kermit 218376 Apr 4 2014 [458]bronx323.jpg
- -rw-rw-r-- 1 fdc kermit 375770 Apr 4 2014 [459]bronx324.jpg
- -rw-rw-r-- 1 fdc kermit 336864 Apr 4 2014 [460]bronx325.jpg
- -rw-rw-r-- 1 fdc kermit 157408 Apr 4 2014 [461]bronx326.jpg
- -rw-rw-r-- 1 fdc kermit 167722 Apr 4 2014 [462]bronx327.jpg
- -rw-rw-r-- 1 fdc kermit 188628 Apr 4 2014 [463]bronx328.jpg
- -rw-rw-r-- 1 fdc kermit 212083 Apr 4 2014 [464]bronx329.jpg
- -rw-rw-r-- 1 fdc kermit 261113 Sep 13 2013 [465]bronx33.jpg
- -rw-rw-r-- 1 fdc kermit 130658 Apr 4 2014 [466]bronx330.jpg
- -rw-rw-r-- 1 fdc kermit 264841 Apr 4 2014 [467]bronx331.jpg
- -rw-rw-r-- 1 fdc kermit 254345 Apr 4 2014 [468]bronx332.jpg
- -rw-rw-r-- 1 fdc kermit 132829 Apr 4 2014 [469]bronx333.jpg
- -rw-rw-r-- 1 fdc kermit 210211 Apr 4 2014 [470]bronx334.jpg
- -rw-rw-r-- 1 fdc kermit 167555 Apr 4 2014 [471]bronx335.jpg
- -rw-rw-r-- 1 fdc kermit 268889 Apr 4 2014 [472]bronx336.jpg
- -rw-rw-r-- 1 fdc kermit 291735 Apr 4 2014 [473]bronx337.jpg
- -rw-rw-r-- 1 fdc kermit 96443 Apr 4 2014 [474]bronx338.jpg
- -rw-rw-r-- 1 fdc kermit 471578 Apr 4 2014 [475]bronx339.jpg
- -rw-rw-r-- 1 fdc kermit 240256 Sep 13 2013 [476]bronx34.jpg
- -rw-rw-r-- 1 fdc kermit 490406 May 21 2014 [477]bronx340.jpg
- -rw-rw-r-- 1 fdc kermit 274969 May 21 2014 [478]bronx341.jpg
- -rw-rw-r-- 1 fdc kermit 198326 Apr 4 2014 [479]bronx342.jpg
- -rw-rw-r-- 1 fdc kermit 183854 Apr 4 2014 [480]bronx343.jpg
- -rw-rw-r-- 1 fdc kermit 218411 Apr 4 2014 [481]bronx344.jpg
- -rw-rw-r-- 1 fdc kermit 117440 Apr 4 2014 [482]bronx345.jpg
- -rw-rw-r-- 1 fdc kermit 137552 Apr 4 2014 [483]bronx346.jpg
- -rw-rw-r-- 1 fdc kermit 278847 Aug 31 2015 [484]bronx347.jpg
- -rw-rw-r-- 1 fdc kermit 244416 Apr 4 2014 [485]bronx348.jpg
- -rw-rw-r-- 1 fdc kermit 173731 Apr 4 2014 [486]bronx349.jpg
- -rw-rw-r-- 1 fdc kermit 215645 Sep 13 2013 [487]bronx35.jpg
- -rw-rw-r-- 1 fdc kermit 216272 Apr 4 2014 [488]bronx350.jpg
- -rw-rw-r-- 1 fdc kermit 229661 Apr 4 2014 [489]bronx351.jpg
- -rw-rw-r-- 1 fdc kermit 221300 Apr 4 2014 [490]bronx352.jpg
- -rw-rw-r-- 1 fdc kermit 226484 Apr 4 2014 [491]bronx353.jpg
- -rw-rw-r-- 1 fdc kermit 251517 Apr 4 2014 [492]bronx354.jpg
- -rw-rw-r-- 1 fdc kermit 174356 Apr 4 2014 [493]bronx355.jpg
- -rw-rw-r-- 1 fdc kermit 254152 Apr 4 2014 [494]bronx356.jpg
- -rw-rw-r-- 1 fdc kermit 334016 Apr 5 2014 [495]bronx357.jpg
- -rw-rw-r-- 1 fdc kermit 238773 Apr 4 2014 [496]bronx358.jpg
- -rw-rw-r-- 1 fdc kermit 259461 Apr 4 2014 [497]bronx359.jpg
- -rw-rw-r-- 1 fdc kermit 307463 Sep 13 2013 [498]bronx36.jpg
- -rw-rw-r-- 1 fdc kermit 257100 May 20 2014 [499]bronx360.jpg
- -rw-rw-r-- 1 fdc kermit 236922 Apr 13 2014 [500]bronx361.jpg
- -rw-rw-r-- 1 fdc kermit 205623 Apr 13 2014 [501]bronx362.jpg
- -rw-rw-r-- 1 fdc kermit 207863 Apr 13 2014 [502]bronx363.jpg
- -rw-rw-r-- 1 fdc kermit 316660 Apr 13 2014 [503]bronx364.jpg
- -rw-rw-r-- 1 fdc kermit 200083 Apr 13 2014 [504]bronx365.jpg
- -rw-rw-r-- 1 fdc kermit 218696 Apr 13 2014 [505]bronx366.jpg
- -rw-rw-r-- 1 fdc kermit 260887 Apr 13 2014 [506]bronx367.jpg
- -rw-rw-r-- 1 fdc kermit 331487 Apr 13 2014 [507]bronx368.jpg
- -rw-rw-r-- 1 fdc kermit 235256 Apr 13 2014 [508]bronx369.jpg
- -rw-rw-r-- 1 fdc kermit 270939 Sep 13 2013 [509]bronx37.jpg
- -rw-rw-r-- 1 fdc kermit 386219 Apr 13 2014 [510]bronx370.jpg
- -rw-rw-r-- 1 fdc kermit 264574 Apr 13 2014 [511]bronx371.jpg
- -rw-rw-r-- 1 fdc kermit 261962 Apr 13 2014 [512]bronx372.jpg
- -rw-rw-r-- 1 fdc kermit 317582 Apr 13 2014 [513]bronx373.jpg
- -rw-rw-r-- 1 fdc kermit 263835 Apr 13 2014 [514]bronx374.jpg
- -rw-rw-r-- 1 fdc kermit 310276 Jun 2 2014 [515]bronx375.jpg
- -rw-rw-r-- 1 fdc kermit 367563 Apr 13 2014 [516]bronx376.jpg
- -rw-rw-r-- 1 fdc kermit 380523 Apr 13 2014 [517]bronx377.jpg
- -rw-rw-r-- 1 fdc kermit 415046 Apr 13 2014 [518]bronx378.jpg
- -rw-rw-r-- 1 fdc kermit 330555 Apr 13 2014 [519]bronx379.jpg
- -rw-rw-r-- 1 fdc kermit 202637 Sep 13 2013 [520]bronx38.jpg
- -rw-rw-r-- 1 fdc kermit 204742 Apr 13 2014 [521]bronx380.jpg
- -rw-rw-r-- 1 fdc kermit 316524 Apr 13 2014 [522]bronx381.jpg
- -rw-rw-r-- 1 fdc kermit 282030 Apr 14 2014 [523]bronx382.jpg
- -rw-rw-r-- 1 fdc kermit 375684 Apr 13 2014 [524]bronx383.jpg
- -rw-rw-r-- 1 fdc kermit 277908 Apr 13 2014 [525]bronx384.jpg
- -rw-rw-r-- 1 fdc kermit 320289 Apr 13 2014 [526]bronx385.jpg
- -rw-rw-r-- 1 fdc kermit 342132 Apr 13 2014 [527]bronx386.jpg
- -rw-rw-r-- 1 fdc kermit 366994 Apr 13 2014 [528]bronx387.jpg
- -rw-rw-r-- 1 fdc kermit 303843 Apr 13 2014 [529]bronx388.jpg
- -rw-rw-r-- 1 fdc kermit 302758 Apr 13 2014 [530]bronx389.jpg
- -rw-rw-r-- 1 fdc kermit 262358 Sep 13 2013 [531]bronx39.jpg
- -rw-rw-r-- 1 fdc kermit 401431 Apr 13 2014 [532]bronx390.jpg
- -rw-rw-r-- 1 fdc kermit 322680 Apr 13 2014 [533]bronx391.jpg
- -rw-rw-r-- 1 fdc kermit 305889 Apr 13 2014 [534]bronx392.jpg
- -rw-rw-r-- 1 fdc kermit 322339 Apr 13 2014 [535]bronx393.jpg
- -rw-rw-r-- 1 fdc kermit 300731 Apr 14 2014 [536]bronx394.jpg
- -rw-rw-r-- 1 fdc kermit 273098 Apr 14 2014 [537]bronx395.jpg
- -rw-rw-r-- 1 fdc kermit 315825 Apr 14 2014 [538]bronx396.jpg
- -rw-rw-r-- 1 fdc kermit 360444 Apr 14 2014 [539]bronx397.jpg
- -rw-rw-r-- 1 fdc kermit 445707 Apr 14 2014 [540]bronx398.jpg
- -rw-rw-r-- 1 fdc kermit 213563 Apr 14 2014 [541]bronx399.jpg
- -rw-rw-r-- 1 fdc kermit 370820 Sep 4 2013 [542]bronx4.jpg
- -rw-rw-r-- 1 fdc kermit 229662 Sep 13 2013 [543]bronx40.jpg
- -rw-rw-r-- 1 fdc kermit 231688 Apr 14 2014 [544]bronx400.jpg
- -rw-rw-r-- 1 fdc kermit 245174 Apr 14 2014 [545]bronx401.jpg
- -rw-rw-r-- 1 fdc kermit 266866 Apr 14 2014 [546]bronx402.jpg
- -rw-rw-r-- 1 fdc kermit 428203 Jun 10 2014 [547]bronx403.jpg
- -rw-r--r-- 1 fdc kermit 406043 Apr 14 2014 [548]bronx403.jpg.~1~
- -rw-rw-r-- 1 fdc kermit 296171 Apr 14 2014 [549]bronx404.jpg
- -rw-rw-r-- 1 fdc kermit 345968 Apr 14 2014 [550]bronx405.jpg
- -rw-rw-r-- 1 fdc kermit 293070 Apr 14 2014 [551]bronx406.jpg
- -rw-rw-r-- 1 fdc kermit 324274 Apr 14 2014 [552]bronx407.jpg
- -rw-rw-r-- 1 fdc kermit 270259 Jun 10 2014 [553]bronx408.jpg
- -rw-r--r-- 1 fdc kermit 294696 Apr 14 2014 [554]bronx408.jpg.~1~
- -rw-r--r-- 1 fdc kermit 92 Apr 14 2014 [555]bronx408.txt.~1~
- -rw-rw-r-- 1 fdc kermit 238850 Apr 14 2014 [556]bronx409.jpg
- -rw-rw-r-- 1 fdc kermit 173755 Sep 13 2013 [557]bronx41.jpg
- -rw-rw-r-- 1 fdc kermit 170434 Apr 14 2014 [558]bronx410.jpg
- -rw-r--r-- 1 fdc kermit 238 Apr 14 2014 [559]bronx410.txt.~1~
- -rw-rw-r-- 1 fdc kermit 339786 Apr 14 2014 [560]bronx411.jpg
- -rw-rw-r-- 1 fdc kermit 316651 Apr 14 2014 [561]bronx412.jpg
- -rw-rw-r-- 1 fdc kermit 370492 Apr 14 2014 [562]bronx413.jpg
- -rw-rw-r-- 1 fdc kermit 301575 Apr 14 2014 [563]bronx414.jpg
- -rw-rw-r-- 1 fdc kermit 343305 Apr 14 2014 [564]bronx415.jpg
- -rw-r--r-- 1 fdc kermit 167 Apr 14 2014 [565]bronx415.txt.~1~
- -rw-rw-r-- 1 fdc kermit 178166 Apr 14 2014 [566]bronx416.jpg
- -rw-rw-r-- 1 fdc kermit 343601 Apr 14 2014 [567]bronx417.jpg
- -rw-rw-r-- 1 fdc kermit 302015 Apr 14 2014 [568]bronx418.jpg
- -rw-rw-r-- 1 fdc kermit 358241 Apr 14 2014 [569]bronx419.jpg
- -rw-rw-r-- 1 fdc kermit 200983 Sep 13 2013 [570]bronx42.jpg
- -rw-rw-r-- 1 fdc kermit 133962 May 17 2014 [571]bronx420.jpg
- -rw-rw-r-- 1 fdc kermit 358004 May 17 2014 [572]bronx421.jpg
- -rw-rw-r-- 1 fdc kermit 173562 May 17 2014 [573]bronx422.jpg
- -rw-rw-r-- 1 fdc kermit 436657 May 17 2014 [574]bronx423.jpg
- -rw-r--r-- 1 fdc kermit 436728 May 17 2014 [575]bronx423.jpg.~1~
- -rw-rw-r-- 1 fdc kermit 147949 May 17 2014 [576]bronx424.jpg
- -rw-rw-r-- 1 fdc kermit 356131 May 17 2014 [577]bronx425.jpg
- -rw-rw-r-- 1 fdc kermit 358355 May 17 2014 [578]bronx426.jpg
- -rw-rw-r-- 1 fdc kermit 266492 May 17 2014 [579]bronx427.jpg
- -rw-rw-r-- 1 fdc kermit 407913 May 17 2014 [580]bronx428.jpg
- -rw-rw-r-- 1 fdc kermit 210909 May 17 2014 [581]bronx429.jpg
- -rw-rw-r-- 1 fdc kermit 174994 Sep 14 2013 [582]bronx43.jpg
- -rw-rw-r-- 1 fdc kermit 324232 May 17 2014 [583]bronx430.jpg
- -rw-rw-r-- 1 fdc kermit 320777 May 17 2014 [584]bronx431.jpg
- -rw-rw-r-- 1 fdc kermit 316233 May 17 2014 [585]bronx432.jpg
- -rw-rw-r-- 1 fdc kermit 216102 May 17 2014 [586]bronx433.jpg
- -rw-rw-r-- 1 fdc kermit 247443 May 17 2014 [587]bronx434.jpg
- -rw-rw-r-- 1 fdc kermit 245334 May 17 2014 [588]bronx435.jpg
- -rw-rw-r-- 1 fdc kermit 342102 May 17 2014 [589]bronx436.jpg
- -rw-rw-r-- 1 fdc kermit 228763 May 17 2014 [590]bronx437.jpg
- -rw-rw-r-- 1 fdc kermit 240511 May 20 2014 [591]bronx438.jpg
- -rw-rw-r-- 1 fdc kermit 298502 May 20 2014 [592]bronx439.jpg
- -rw-rw-r-- 1 fdc kermit 51240 Sep 16 2013 [593]bronx44.jpg
- -rw-rw-r-- 1 fdc kermit 336069 May 20 2014 [594]bronx440.jpg
- -rw-rw-r-- 1 fdc kermit 385465 May 20 2014 [595]bronx441.jpg
- -rw-rw-r-- 1 fdc kermit 235410 May 20 2014 [596]bronx442.jpg
- -rw-rw-r-- 1 fdc kermit 181529 May 20 2014 [597]bronx443.jpg
- -rw-rw-r-- 1 fdc kermit 250476 May 20 2014 [598]bronx444.jpg
- -rw-rw-r-- 1 fdc kermit 209350 May 20 2014 [599]bronx445.jpg
- -rw-rw-r-- 1 fdc kermit 228258 May 20 2014 [600]bronx446.jpg
- -rw-rw-r-- 1 fdc kermit 173577 May 20 2014 [601]bronx447.jpg
- -rw-rw-r-- 1 fdc kermit 298165 May 20 2014 [602]bronx448.jpg
- -rw-rw-r-- 1 fdc kermit 184188 May 20 2014 [603]bronx449.jpg
- -rw-rw-r-- 1 fdc kermit 53871 Sep 16 2013 [604]bronx45.jpg
- -rw-rw-r-- 1 fdc kermit 246029 May 20 2014 [605]bronx450.jpg
- -rw-rw-r-- 1 fdc kermit 321514 May 20 2014 [606]bronx451.jpg
- -rw-rw-r-- 1 fdc kermit 282191 May 20 2014 [607]bronx452.jpg
- -rw-rw-r-- 1 fdc kermit 267494 May 20 2014 [608]bronx453.jpg
- -rw-rw-r-- 1 fdc kermit 233590 May 20 2014 [609]bronx454.jpg
- -rw-rw-r-- 1 fdc kermit 250622 May 20 2014 [610]bronx455.jpg
- -rw-rw-r-- 1 fdc kermit 269694 May 20 2014 [611]bronx456.jpg
- -rw-rw-r-- 1 fdc kermit 171476 May 20 2014 [612]bronx457.jpg
- -rw-rw-r-- 1 fdc kermit 95763 May 25 2014 [613]bronx458.jpg
- -rw-rw-r-- 1 fdc kermit 242555 May 25 2014 [614]bronx459.jpg
- -rw-rw-r-- 1 fdc kermit 306097 Sep 23 2013 [615]bronx46.jpg
- -rw-rw-r-- 1 fdc kermit 52532 May 25 2014 [616]bronx460.jpg
- -rw-rw-r-- 1 fdc kermit 222284 May 25 2014 [617]bronx461.jpg
- -rw-r--r-- 1 fdc kermit 298956 Sep 14 20:33 [618]bronx462.jpg
- -rw-rw-r-- 1 fdc kermit 283643 Jun 2 2014 [619]bronx463.jpg
- -rw-rw-r-- 1 fdc kermit 296502 Jun 2 2014 [620]bronx464.jpg
- -rw-rw-r-- 1 fdc kermit 357209 Jun 2 2014 [621]bronx465.jpg
- -rw-rw-r-- 1 fdc kermit 193246 Jun 2 2014 [622]bronx466.jpg
- -rw-rw-r-- 1 fdc kermit 182799 Jun 2 2014 [623]bronx467.jpg
- -rw-rw-r-- 1 fdc kermit 186912 Jun 2 2014 [624]bronx468.jpg
- -rw-rw-r-- 1 fdc kermit 313337 Jun 2 2014 [625]bronx469.jpg
- -rw-rw-r-- 1 fdc kermit 253225 Sep 23 2013 [626]bronx47.jpg
- -rw-rw-r-- 1 fdc kermit 214705 Jun 2 2014 [627]bronx470.jpg
- -rw-rw-r-- 1 fdc kermit 280624 Jun 2 2014 [628]bronx471.jpg
- -rw-rw-r-- 1 fdc kermit 245883 Jun 2 2014 [629]bronx472.jpg
- -rw-rw-r-- 1 fdc kermit 199081 Jun 2 2014 [630]bronx473.jpg
- -rw-rw-r-- 1 fdc kermit 301406 Jun 2 2014 [631]bronx474.jpg
- -rw-rw-r-- 1 fdc kermit 334876 Jun 2 2014 [632]bronx475.jpg
- -rw-rw-r-- 1 fdc kermit 331133 Jun 2 2014 [633]bronx476.jpg
- -rw-rw-r-- 1 fdc kermit 242529 Jun 2 2014 [634]bronx477.jpg
- -rw-rw-r-- 1 fdc kermit 359345 Jun 2 2014 [635]bronx478.jpg
- -rw-rw-r-- 1 fdc kermit 110764 Jun 2 2014 [636]bronx479.jpg
- -rw-rw-r-- 1 fdc kermit 66982 Sep 23 2013 [637]bronx48.jpg
- -rw-rw-r-- 1 fdc kermit 231511 Jun 2 2014 [638]bronx480.jpg
- -rw-r--r-- 1 fdc kermit 55 Jun 2 2014 [639]bronx480.txt.~1~
- -rw-rw-r-- 1 fdc kermit 260525 Jun 2 2014 [640]bronx481.jpg
- -rw-rw-r-- 1 fdc kermit 335117 Jun 2 2014 [641]bronx482.jpg
- -rw-rw-r-- 1 fdc kermit 317245 Jun 2 2014 [642]bronx483.jpg
- -rw-rw-r-- 1 fdc kermit 381733 Jun 2 2014 [643]bronx484.jpg
- -rw-rw-r-- 1 fdc kermit 255371 Jun 2 2014 [644]bronx485.jpg
- -rw-rw-r-- 1 fdc kermit 314989 Jun 2 2014 [645]bronx486.jpg
- -rw-r--r-- 1 fdc kermit 35 Jun 2 2014 [646]bronx486.txt.~1~
- -rw-rw-r-- 1 fdc kermit 307758 Jun 2 2014 [647]bronx487.jpg
- -rw-rw-r-- 1 fdc kermit 363480 Jun 2 2014 [648]bronx488.jpg
- -rw-r--r-- 1 fdc kermit 54 Jun 2 2014 [649]bronx488.txt.~1~
- -rw-rw-r-- 1 fdc kermit 344887 Jun 2 2014 [650]bronx489.jpg
- -rw-r--r-- 1 fdc kermit 67 Jun 2 2014 [651]bronx489.txt.~1~
- -rw-rw-r-- 1 fdc kermit 239594 Sep 25 2013 [652]bronx49.jpg
- -rw-rw-r-- 1 fdc kermit 260181 Jun 2 2014 [653]bronx490.jpg
- -rw-rw-r-- 1 fdc kermit 217284 Jun 2 2014 [654]bronx491.jpg
- -rw-rw-r-- 1 fdc kermit 256056 Jun 2 2014 [655]bronx492.jpg
- -rw-r--r-- 1 fdc kermit 81 Jun 2 2014 [656]bronx492.txt.~1~
- -rw-rw-r-- 1 fdc kermit 371848 Jun 2 2014 [657]bronx493.jpg
- -rw-r--r-- 1 fdc kermit 63 Jun 2 2014 [658]bronx493.txt.~1~
- -rw-rw-r-- 1 fdc kermit 316664 Jun 2 2014 [659]bronx494.jpg
- -rw-r--r-- 1 fdc kermit 40 Jun 2 2014 [660]bronx494.txt.~1~
- -rw-r--r-- 1 fdc kermit 113 Jun 2 2014 [661]bronx494.txt.~2~
- -rw-rw-r-- 1 fdc kermit 239818 Jun 2 2014 [662]bronx495.jpg
- -rw-rw-r-- 1 fdc kermit 345367 Jun 2 2014 [663]bronx496.jpg
- -rw-r--r-- 1 fdc kermit 51 Jun 2 2014 [664]bronx496.txt.~1~
- -rw-rw-r-- 1 fdc kermit 384261 Jun 2 2014 [665]bronx497.jpg
- -rw-r--r-- 1 fdc kermit 195815 Jun 5 2014 [666]bronx498.jpg
- -rw-r--r-- 1 fdc kermit 261798 Jun 5 2014 [667]bronx499.jpg
- -rw-rw-r-- 1 fdc kermit 374726 Sep 4 2013 [668]bronx5.jpg
- -rw-rw-r-- 1 fdc kermit 284974 Sep 25 2013 [669]bronx50.jpg
- -rw-rw-r-- 1 fdc kermit 208448 Jun 6 2014 [670]bronx500.jpg
- -rw-rw-r-- 1 fdc kermit 241986 Jun 10 2014 [671]bronx501.jpg
- -rw-rw-r-- 1 fdc kermit 326980 Jun 10 2014 [672]bronx502.jpg
- -rw-rw-r-- 1 fdc kermit 286275 Jun 10 2014 [673]bronx503.jpg
- -rw-rw-r-- 1 fdc kermit 378981 Jun 10 2014 [674]bronx504.jpg
- -rw-rw-r-- 1 fdc kermit 238799 Jun 10 2014 [675]bronx505.jpg
- -rw-rw-r-- 1 fdc kermit 369884 Jun 10 2014 [676]bronx506.jpg
- -rw-rw-r-- 1 fdc kermit 298625 Jun 10 2014 [677]bronx507.jpg
- -rw-rw-r-- 1 fdc kermit 317456 Jun 10 2014 [678]bronx508.jpg
- -rw-rw-r-- 1 fdc kermit 403253 Jun 10 2014 [679]bronx509.jpg
- -rw-rw-r-- 1 fdc kermit 246105 Sep 25 2013 [680]bronx51.jpg
- -rw-rw-r-- 1 fdc kermit 291201 Jun 10 2014 [681]bronx510.jpg
- -rw-rw-r-- 1 fdc kermit 268378 Jun 10 2014 [682]bronx511.jpg
- -rw-rw-r-- 1 fdc kermit 248760 Jun 10 2014 [683]bronx512.jpg
- -rw-rw-r-- 1 fdc kermit 177809 Jun 10 2014 [684]bronx513.jpg
- -rw-rw-r-- 1 fdc kermit 244740 Jun 10 2014 [685]bronx514.jpg
- -rw-rw-r-- 1 fdc kermit 262429 Jun 10 2014 [686]bronx515.jpg
- -rw-rw-r-- 1 fdc kermit 189869 Jun 10 2014 [687]bronx516.jpg
- -rw-rw-r-- 1 fdc kermit 175268 Jun 10 2014 [688]bronx517.jpg
- -rw-rw-r-- 1 fdc kermit 356749 Jun 10 2014 [689]bronx518.jpg
- -rw-rw-r-- 1 fdc kermit 125452 Jun 10 2014 [690]bronx519.jpg
- -rw-rw-r-- 1 fdc kermit 339675 Sep 25 2013 [691]bronx52.jpg
- -rw-rw-r-- 1 fdc kermit 334068 Jun 10 2014 [692]bronx520.jpg
- -rw-rw-r-- 1 fdc kermit 242053 Jun 10 2014 [693]bronx521.jpg
- -rw-rw-r-- 1 fdc kermit 247751 Jun 10 2014 [694]bronx522.jpg
- -rw-rw-r-- 1 fdc kermit 95777 Sep 9 2014 [695]bronx523.jpg
- -rw-rw-r-- 1 fdc kermit 249863 Oct 26 2014 [696]bronx524.jpg
- -rw-rw-r-- 1 fdc kermit 234991 Oct 26 2014 [697]bronx525.jpg
- -rw-rw-r-- 1 fdc kermit 236092 Oct 26 2014 [698]bronx526.jpg
- -rw-rw-r-- 1 fdc kermit 295164 Oct 26 2014 [699]bronx527.jpg
- -rw-rw-r-- 1 fdc kermit 293202 Oct 26 2014 [700]bronx528.jpg
- -rw-rw-r-- 1 fdc kermit 353695 Oct 26 2014 [701]bronx529.jpg
- -rw-rw-r-- 1 fdc kermit 256534 Sep 25 2013 [702]bronx53.jpg
- -rw-rw-r-- 1 fdc kermit 242755 Oct 26 2014 [703]bronx530.jpg
- -rw-rw-r-- 1 fdc kermit 358296 Oct 26 2014 [704]bronx531.jpg
- -rw-rw-r-- 1 fdc kermit 306816 Oct 26 2014 [705]bronx532.jpg
- -rw-rw-r-- 1 fdc kermit 149818 Oct 26 2014 [706]bronx533.jpg
- -rw-rw-r-- 1 fdc kermit 215081 Oct 26 2014 [707]bronx534.jpg
- -rw-rw-r-- 1 fdc kermit 194140 Oct 26 2014 [708]bronx535.jpg
- -rw-rw-r-- 1 fdc kermit 275835 Oct 26 2014 [709]bronx536.jpg
- -rw-rw-r-- 1 fdc kermit 80273 Oct 26 2014 [710]bronx537.jpg
- -rw-rw-r-- 1 fdc kermit 52561 Oct 26 2014 [711]bronx538.jpg
- -rw-rw-r-- 1 fdc kermit 363200 Oct 26 2014 [712]bronx539.jpg
- -rw-rw-r-- 1 fdc kermit 346000 Sep 25 2013 [713]bronx54.jpg
- -rw-rw-r-- 1 fdc kermit 293362 Oct 26 2014 [714]bronx540.jpg
- -rw-rw-r-- 1 fdc kermit 189039 Oct 26 2014 [715]bronx541.jpg
- -rw-rw-r-- 1 fdc kermit 213811 Oct 26 2014 [716]bronx542.jpg
- -rw-rw-r-- 1 fdc kermit 191084 Oct 26 2014 [717]bronx543.jpg
- -rw-rw-r-- 1 fdc kermit 220294 Oct 26 2014 [718]bronx544.jpg
- -rw-rw-r-- 1 fdc kermit 191745 Oct 26 2014 [719]bronx545.jpg
- -rw-r--r-- 1 fdc kermit 86142 Oct 27 2014 [720]bronx546.jpg
- -rw-rw-r-- 1 fdc kermit 197970 Oct 26 2014 [721]bronx547.jpg
- -rw-rw-r-- 1 fdc kermit 130663 Oct 26 2014 [722]bronx548.jpg
- -rw-rw-r-- 1 fdc kermit 226219 Oct 26 2014 [723]bronx549.jpg
- -rw-rw-r-- 1 fdc kermit 268418 Oct 30 2013 [724]bronx55.jpg
- -rw-rw-r-- 1 fdc kermit 204139 Oct 26 2014 [725]bronx550.jpg
- -rw-rw-r-- 1 fdc kermit 252751 Oct 26 2014 [726]bronx551.jpg
- -rw-rw-r-- 1 fdc kermit 167354 Oct 26 2014 [727]bronx552.jpg
- -rw-rw-r-- 1 fdc kermit 292621 Oct 26 2014 [728]bronx553.jpg
- -rw-rw-r-- 1 fdc kermit 237197 Oct 26 2014 [729]bronx554.jpg
- -rw-rw-r-- 1 fdc kermit 218640 Oct 26 2014 [730]bronx555.jpg
- -rw-rw-r-- 1 fdc kermit 235395 Oct 26 2014 [731]bronx556.jpg
- -rw-rw-r-- 1 fdc kermit 202475 Oct 26 2014 [732]bronx557.jpg
- -rw-rw-r-- 1 fdc kermit 165203 Oct 26 2014 [733]bronx558.jpg
- -rw-rw-r-- 1 fdc kermit 94194 Oct 26 2014 [734]bronx559.jpg
- -rw-rw-r-- 1 fdc kermit 370639 Sep 25 2013 [735]bronx56.jpg
- -rw-rw-r-- 1 fdc kermit 194956 Oct 26 2014 [736]bronx560.jpg
- -rw-rw-r-- 1 fdc kermit 207435 Oct 26 2014 [737]bronx561.jpg
- -rw-rw-r-- 1 fdc kermit 321830 Oct 26 2014 [738]bronx562.jpg
- -rw-rw-r-- 1 fdc kermit 78749 Oct 26 2014 [739]bronx563.jpg
- -rw-rw-r-- 1 fdc kermit 88961 Oct 27 2014 [740]bronx564.jpg
- -rw-rw-r-- 1 fdc kermit 59380 Oct 26 2014 [741]bronx565.jpg
- -rw-rw-r-- 1 fdc kermit 303151 Oct 26 2014 [742]bronx566.jpg
- -rw-rw-r-- 1 fdc kermit 275096 Oct 26 2014 [743]bronx567.jpg
- -rw-rw-r-- 1 fdc kermit 255080 Oct 26 2014 [744]bronx568.jpg
- -rw-rw-r-- 1 fdc kermit 300024 Oct 27 2014 [745]bronx569.jpg
- -rw-rw-r-- 1 fdc kermit 304021 Sep 25 2013 [746]bronx57.jpg
- -rw-rw-r-- 1 fdc kermit 151787 Apr 5 2015 [747]bronx570.jpg
- -rw-rw-r-- 1 fdc kermit 119374 Apr 4 2015 [748]bronx571.jpg
- -rw-rw-r-- 1 fdc kermit 191656 Apr 4 2015 [749]bronx572.jpg
- -rw-rw-r-- 1 fdc kermit 355718 Apr 4 2015 [750]bronx573.jpg
- -rw-rw-r-- 1 fdc kermit 148867 Apr 4 2015 [751]bronx574.jpg
- -rw-rw-r-- 1 fdc kermit 212367 Apr 4 2015 [752]bronx575.jpg
- -rw-rw-r-- 1 fdc kermit 147893 Apr 4 2015 [753]bronx576.jpg
- -rw-rw-r-- 1 fdc kermit 280505 Apr 4 2015 [754]bronx577.jpg
- -rw-rw-r-- 1 fdc kermit 59500 Apr 4 2015 [755]bronx578.jpg
- -rw-rw-r-- 1 fdc kermit 142988 Apr 4 2015 [756]bronx579.jpg
- -rw-rw-r-- 1 fdc kermit 258045 Sep 25 2013 [757]bronx58.jpg
- -rw-rw-r-- 1 fdc kermit 131990 Apr 4 2015 [758]bronx580.jpg
- -rw-rw-r-- 1 fdc kermit 161364 Apr 4 2015 [759]bronx581.jpg
- -rw-rw-r-- 1 fdc kermit 94819 Apr 4 2015 [760]bronx582.jpg
- -rw-rw-r-- 1 fdc kermit 339922 Apr 4 2015 [761]bronx583.jpg
- -rw-rw-r-- 1 fdc kermit 108375 Apr 4 2015 [762]bronx584.jpg
- -rw-rw-r-- 1 fdc kermit 100227 Apr 5 2015 [763]bronx585.jpg
- -rw-rw-r-- 1 fdc kermit 59567 Apr 4 2015 [764]bronx586.jpg
- -rw-rw-r-- 1 fdc kermit 188193 Apr 4 2015 [765]bronx587.jpg
- -rw-rw-r-- 1 fdc kermit 84730 Apr 4 2015 [766]bronx588.jpg
- -rw-rw-r-- 1 fdc kermit 162959 Apr 4 2015 [767]bronx589.jpg
- -rw-rw-r-- 1 fdc kermit 375006 Sep 25 2013 [768]bronx59.jpg
- -rw-rw-r-- 1 fdc kermit 37619 Apr 4 2015 [769]bronx590.jpg
- -rw-rw-r-- 1 fdc kermit 197032 Apr 4 2015 [770]bronx591.jpg
- -rw-rw-r-- 1 fdc kermit 365964 Apr 4 2015 [771]bronx592.jpg
- -rw-rw-r-- 1 fdc kermit 249053 Apr 4 2015 [772]bronx593.jpg
- -rw-rw-r-- 1 fdc kermit 140632 Apr 4 2015 [773]bronx594.jpg
- -rw-rw-r-- 1 fdc kermit 168790 Apr 4 2015 [774]bronx595.jpg
- -rw-rw-r-- 1 fdc kermit 214976 Apr 4 2015 [775]bronx596.jpg
- -rw-rw-r-- 1 fdc kermit 152755 Apr 4 2015 [776]bronx597.jpg
- -rw-rw-r-- 1 fdc kermit 229011 Apr 4 2015 [777]bronx598.jpg
- -rw-rw-r-- 1 fdc kermit 167279 Apr 4 2015 [778]bronx599.jpg
- -rw-rw-r-- 1 fdc kermit 69259 Sep 4 2013 [779]bronx6.jpg
- -rw-rw-r-- 1 fdc kermit 286907 Sep 25 2013 [780]bronx60.jpg
- -rw-rw-r-- 1 fdc kermit 152586 Apr 4 2015 [781]bronx600.jpg
- -rw-rw-r-- 1 fdc kermit 78062 Apr 4 2015 [782]bronx601.jpg
- -rw-r--r-- 1 fdc kermit 151787 Oct 27 2014 [783]bronx601.jpg.~1~
- -rw-rw-r-- 1 fdc kermit 104655 Apr 22 2015 [784]bronx602.jpg
- -rw-rw-r-- 1 fdc kermit 283058 Apr 22 2015 [785]bronx603.jpg
- -rw-rw-r-- 1 fdc kermit 262220 Apr 22 2015 [786]bronx604.jpg
- -rw-rw-r-- 1 fdc kermit 301661 Apr 22 2015 [787]bronx605.jpg
- -rw-rw-r-- 1 fdc kermit 217659 Apr 22 2015 [788]bronx606.jpg
- -rw-rw-r-- 1 fdc kermit 347108 Apr 22 2015 [789]bronx607.jpg
- -rw-rw-r-- 1 fdc kermit 384066 Apr 22 2015 [790]bronx608.jpg
- -rw-rw-r-- 1 fdc kermit 391858 Apr 22 2015 [791]bronx609.jpg
- -rw-rw-r-- 1 fdc kermit 288964 Sep 25 2013 [792]bronx61.jpg
- -rw-rw-r-- 1 fdc kermit 332984 Apr 22 2015 [793]bronx610.jpg
- -rw-rw-r-- 1 fdc kermit 364927 Apr 22 2015 [794]bronx611.jpg
- -rw-rw-r-- 1 fdc kermit 277747 Apr 22 2015 [795]bronx612.jpg
- -rw-rw-r-- 1 fdc kermit 197292 Apr 22 2015 [796]bronx613.jpg
- -rw-rw-r-- 1 fdc kermit 203443 Apr 22 2015 [797]bronx614.jpg
- -rw-rw-r-- 1 fdc kermit 339169 Apr 22 2015 [798]bronx615.jpg
- -rw-rw-r-- 1 fdc kermit 307641 Apr 22 2015 [799]bronx616.jpg
- -rw-rw-r-- 1 fdc kermit 391437 Apr 22 2015 [800]bronx617.jpg
- -rw-rw-r-- 1 fdc kermit 265282 Apr 22 2015 [801]bronx618.jpg
- -rw-rw-r-- 1 fdc kermit 450761 Apr 22 2015 [802]bronx619.jpg
- -rw-rw-r-- 1 fdc kermit 338782 Sep 25 2013 [803]bronx62.jpg
- -rw-rw-r-- 1 fdc kermit 394847 Apr 22 2015 [804]bronx620.jpg
- -rw-rw-r-- 1 fdc kermit 346958 Apr 22 2015 [805]bronx621.jpg
- -rw-rw-r-- 1 fdc kermit 248089 Apr 22 2015 [806]bronx622.jpg
- -rw-rw-r-- 1 fdc kermit 333071 Apr 22 2015 [807]bronx623.jpg
- -rw-rw-r-- 1 fdc kermit 249350 Apr 22 2015 [808]bronx624.jpg
- -rw-rw-r-- 1 fdc kermit 380907 Apr 22 2015 [809]bronx625.jpg
- -rw-rw-r-- 1 fdc kermit 258877 Apr 22 2015 [810]bronx626.jpg
- -rw-rw-r-- 1 fdc kermit 137995 Apr 22 2015 [811]bronx627.jpg
- -rw-rw-r-- 1 fdc kermit 238627 Apr 22 2015 [812]bronx628.jpg
- -rw-rw-r-- 1 fdc kermit 283389 Apr 22 2015 [813]bronx629.jpg
- -rw-rw-r-- 1 fdc kermit 336317 Sep 25 2013 [814]bronx63.jpg
- -rw-rw-r-- 1 fdc kermit 369395 Apr 22 2015 [815]bronx630.jpg
- -rw-rw-r-- 1 fdc kermit 370534 Apr 22 2015 [816]bronx631.jpg
- -rw-rw-r-- 1 fdc kermit 376487 Apr 22 2015 [817]bronx632.jpg
- -rw-rw-r-- 1 fdc kermit 394658 Apr 22 2015 [818]bronx633.jpg
- -rw-rw-r-- 1 fdc kermit 283522 Apr 22 2015 [819]bronx634.jpg
- -rw-rw-r-- 1 fdc kermit 341757 Apr 22 2015 [820]bronx635.jpg
- -rw-rw-r-- 1 fdc kermit 315907 Apr 22 2015 [821]bronx636.jpg
- -rw-rw-r-- 1 fdc kermit 400984 Apr 22 2015 [822]bronx637.jpg
- -rw-rw-r-- 1 fdc kermit 312874 Apr 22 2015 [823]bronx638.jpg
- -rw-rw-r-- 1 fdc kermit 270913 Apr 22 2015 [824]bronx639.jpg
- -rw-rw-r-- 1 fdc kermit 326745 Sep 25 2013 [825]bronx64.jpg
- -rw-rw-r-- 1 fdc kermit 316341 Apr 22 2015 [826]bronx640.jpg
- -rw-rw-r-- 1 fdc kermit 286092 Apr 22 2015 [827]bronx641.jpg
- -rw-rw-r-- 1 fdc kermit 332461 Apr 22 2015 [828]bronx642.jpg
- -rw-rw-r-- 1 fdc kermit 177703 Apr 22 2015 [829]bronx643.jpg
- -rw-rw-r-- 1 fdc kermit 207282 Apr 22 2015 [830]bronx644.jpg
- -rw-rw-r-- 1 fdc kermit 427312 Apr 22 2015 [831]bronx645.jpg
- -rw-rw-r-- 1 fdc kermit 387900 Apr 22 2015 [832]bronx646.jpg
- -rw-rw-r-- 1 fdc kermit 305270 Apr 22 2015 [833]bronx647.jpg
- -rw-rw-r-- 1 fdc kermit 191595 Apr 22 2015 [834]bronx648.jpg
- -rw-rw-r-- 1 fdc kermit 78796 Apr 22 2015 [835]bronx649.jpg
- -rw-rw-r-- 1 fdc kermit 346401 Sep 25 2013 [836]bronx65.jpg
- -rw-rw-r-- 1 fdc kermit 285405 Apr 23 2015 [837]bronx650.jpg
- -rw-r--r-- 1 fdc kermit 285405 Apr 23 2015 [838]bronx650.jpg.~1~
- -rw-rw-r-- 1 fdc kermit 374588 Apr 23 2015 [839]bronx651.jpg
- -rw-r--r-- 1 fdc kermit 374588 Apr 23 2015 [840]bronx651.jpg.~1~
- -rw-rw-r-- 1 fdc kermit 352896 Apr 23 2015 [841]bronx652.jpg
- -rw-r--r-- 1 fdc kermit 352896 Apr 23 2015 [842]bronx652.jpg.~1~
- -rw-rw-r-- 1 fdc kermit 207192 Apr 23 2015 [843]bronx653.jpg
- -rw-r--r-- 1 fdc kermit 207192 Apr 23 2015 [844]bronx653.jpg.~1~
- -rw-rw-r-- 1 fdc kermit 146516 Apr 23 2015 [845]bronx654.jpg
- -rw-r--r-- 1 fdc kermit 146516 Apr 23 2015 [846]bronx654.jpg.~1~
- -rw-rw-r-- 1 fdc kermit 228315 Apr 23 2015 [847]bronx655.jpg
- -rw-r--r-- 1 fdc kermit 228315 Apr 23 2015 [848]bronx655.jpg.~1~
- -rw-rw-r-- 1 fdc kermit 291725 Apr 23 2015 [849]bronx656.jpg
- -rw-r--r-- 1 fdc kermit 291725 Apr 23 2015 [850]bronx656.jpg.~1~
- -rw-rw-r-- 1 fdc kermit 352864 Apr 23 2015 [851]bronx657.jpg
- -rw-r--r-- 1 fdc kermit 352864 Apr 23 2015 [852]bronx657.jpg.~1~
- -rw-rw-r-- 1 fdc kermit 314921 Apr 23 2015 [853]bronx658.jpg
- -rw-r--r-- 1 fdc kermit 314921 Apr 23 2015 [854]bronx658.jpg.~1~
- -rw-rw-r-- 1 fdc kermit 344631 Apr 23 2015 [855]bronx659.jpg
- -rw-r--r-- 1 fdc kermit 344631 Apr 23 2015 [856]bronx659.jpg.~1~
- -rw-rw-r-- 1 fdc kermit 304245 Sep 25 2013 [857]bronx66.jpg
- -rw-rw-r-- 1 fdc kermit 264144 Apr 23 2015 [858]bronx660.jpg
- -rw-r--r-- 1 fdc kermit 264144 Apr 23 2015 [859]bronx660.jpg.~1~
- -rw-rw-r-- 1 fdc kermit 417479 Apr 23 2015 [860]bronx661.jpg
- -rw-rw-r-- 1 fdc kermit 300875 Apr 23 2015 [861]bronx662.jpg
- -rw-rw-r-- 1 fdc kermit 323592 Apr 23 2015 [862]bronx663.jpg
- -rw-rw-r-- 1 fdc kermit 384636 Apr 23 2015 [863]bronx664.jpg
- -rw-rw-r-- 1 fdc kermit 391452 Apr 23 2015 [864]bronx665.jpg
- -rw-rw-r-- 1 fdc kermit 435095 May 19 2015 [865]bronx666.jpg
- -rw-rw-r-- 1 fdc kermit 119499 May 19 2015 [866]bronx667.jpg
- -rw-rw-r-- 1 fdc kermit 191471 May 19 2015 [867]bronx668.jpg
- -rw-rw-r-- 1 fdc kermit 316952 May 19 2015 [868]bronx669.jpg
- -rw-rw-r-- 1 fdc kermit 297564 Sep 25 2013 [869]bronx67.jpg
- -rw-rw-r-- 1 fdc kermit 213659 May 19 2015 [870]bronx670.jpg
- -rw-rw-r-- 1 fdc kermit 285291 May 19 2015 [871]bronx671.jpg
- -rw-rw-r-- 1 fdc kermit 249374 May 19 2015 [872]bronx672.jpg
- -rw-rw-r-- 1 fdc kermit 185320 May 19 2015 [873]bronx673.jpg
- -rw-rw-r-- 1 fdc kermit 364010 May 19 2015 [874]bronx674.jpg
- -rw-rw-r-- 1 fdc kermit 152292 May 19 2015 [875]bronx675.jpg
- -rw-rw-r-- 1 fdc kermit 167862 May 19 2015 [876]bronx676.jpg
- -rw-rw-r-- 1 fdc kermit 117434 May 19 2015 [877]bronx677.jpg
- -rw-rw-r-- 1 fdc kermit 197315 May 19 2015 [878]bronx678.jpg
- -rw-rw-r-- 1 fdc kermit 203587 May 19 2015 [879]bronx679.jpg
- -rw-rw-r-- 1 fdc kermit 191574 Sep 25 2013 [880]bronx68.jpg
- -rw-rw-r-- 1 fdc kermit 183446 May 19 2015 [881]bronx680.jpg
- -rw-rw-r-- 1 fdc kermit 253389 May 19 2015 [882]bronx681.jpg
- -rw-rw-r-- 1 fdc kermit 363948 May 19 2015 [883]bronx682.jpg
- -rw-rw-r-- 1 fdc kermit 279080 May 19 2015 [884]bronx683.jpg
- -rw-rw-r-- 1 fdc kermit 338876 May 31 2015 [885]bronx684.jpg
- -rw-rw-r-- 1 fdc kermit 368711 May 31 2015 [886]bronx685.jpg
- -rw-rw-r-- 1 fdc kermit 330774 May 31 2015 [887]bronx686.jpg
- -rw-rw-r-- 1 fdc kermit 347005 May 31 2015 [888]bronx687.jpg
- -rw-rw-r-- 1 fdc kermit 401010 May 31 2015 [889]bronx688.jpg
- -rw-rw-r-- 1 fdc kermit 175876 May 31 2015 [890]bronx689.jpg
- -rw-rw-r-- 1 fdc kermit 204528 Sep 25 2013 [891]bronx69.jpg
- -rw-rw-r-- 1 fdc kermit 191482 May 31 2015 [892]bronx690.jpg
- -rw-rw-r-- 1 fdc kermit 329656 May 31 2015 [893]bronx691.jpg
- -rw-rw-r-- 1 fdc kermit 89587 Jun 6 2015 [894]bronx692.jpg
- -rw-rw-r-- 1 fdc kermit 294779 Jun 6 2015 [895]bronx693.jpg
- -rw-rw-r-- 1 fdc kermit 302432 Jun 9 2015 [896]bronx694.jpg
- -rw-rw-r-- 1 fdc kermit 185842 Jun 9 2015 [897]bronx695.jpg
- -rw-rw-r-- 1 fdc kermit 537736 Jun 9 2015 [898]bronx696.jpg
- -rw-rw-r-- 1 fdc kermit 271734 Jun 9 2015 [899]bronx697.jpg
- -rw-rw-r-- 1 fdc kermit 280329 Jun 9 2015 [900]bronx698.jpg
- -rw-rw-r-- 1 fdc kermit 357314 Jun 9 2015 [901]bronx699.jpg
- -rw-rw-r-- 1 fdc kermit 244961 Sep 4 2013 [902]bronx7.jpg
- -rw-rw-r-- 1 fdc kermit 267681 Sep 25 2013 [903]bronx70.jpg
- -rw-rw-r-- 1 fdc kermit 243396 Jun 9 2015 [904]bronx700.jpg
- -rw-rw-r-- 1 fdc kermit 304437 Jun 9 2015 [905]bronx701.jpg
- -rw-rw-r-- 1 fdc kermit 227391 Jun 9 2015 [906]bronx702.jpg
- -rw-rw-r-- 1 fdc kermit 423853 Jun 9 2015 [907]bronx703.jpg
- -rw-rw-r-- 1 fdc kermit 468869 Jun 9 2015 [908]bronx704.jpg
- -rw-rw-r-- 1 fdc kermit 411658 Jun 9 2015 [909]bronx705.jpg
- -rw-rw-r-- 1 fdc kermit 435141 Jun 9 2015 [910]bronx706.jpg
- -rw-rw-r-- 1 fdc kermit 231102 Jun 9 2015 [911]bronx707.jpg
- -rw-rw-r-- 1 fdc kermit 283341 Jun 9 2015 [912]bronx708.jpg
- -rw-rw-r-- 1 fdc kermit 176171 Jun 9 2015 [913]bronx709.jpg
- -rw-rw-r-- 1 fdc kermit 248708 Sep 25 2013 [914]bronx71.jpg
- -rw-rw-r-- 1 fdc kermit 432326 Jun 9 2015 [915]bronx710.jpg
- -rw-rw-r-- 1 fdc kermit 374080 Jun 9 2015 [916]bronx711.jpg
- -rw-rw-r-- 1 fdc kermit 324293 Jun 9 2015 [917]bronx712.jpg
- -rw-rw-r-- 1 fdc kermit 200457 Jun 9 2015 [918]bronx713.jpg
- -rw-rw-r-- 1 fdc kermit 283024 Jun 9 2015 [919]bronx714.jpg
- -rw-rw-r-- 1 fdc kermit 278156 Jun 9 2015 [920]bronx715.jpg
- -rw-rw-r-- 1 fdc kermit 332587 Jun 9 2015 [921]bronx716.jpg
- -rw-rw-r-- 1 fdc kermit 341201 Jun 9 2015 [922]bronx717.jpg
- -rw-rw-r-- 1 fdc kermit 240975 Jun 9 2015 [923]bronx718.jpg
- -rw-rw-r-- 1 fdc kermit 410001 Jun 9 2015 [924]bronx719.jpg
- -rw-rw-r-- 1 fdc kermit 296009 Sep 25 2013 [925]bronx72.jpg
- -rw-rw-r-- 1 fdc kermit 202142 Jun 9 2015 [926]bronx720.jpg
- -rw-rw-r-- 1 fdc kermit 165272 Jun 9 2015 [927]bronx721.jpg
- -rw-rw-r-- 1 fdc kermit 337709 Jun 9 2015 [928]bronx722.jpg
- -rw-rw-r-- 1 fdc kermit 312109 Jun 21 2015 [929]bronx723.jpg
- -rw-rw-r-- 1 fdc kermit 183012 Jun 21 2015 [930]bronx724.jpg
- -rw-rw-r-- 1 fdc kermit 246796 Jun 21 2015 [931]bronx725.jpg
- -rw-rw-r-- 1 fdc kermit 182008 Jun 21 2015 [932]bronx726.jpg
- -rw-rw-r-- 1 fdc kermit 269780 Jun 21 2015 [933]bronx727.jpg
- -rw-rw-r-- 1 fdc kermit 67298 Jun 21 2015 [934]bronx728.jpg
- -rw-rw-r-- 1 fdc kermit 194461 Jun 21 2015 [935]bronx729.jpg
- -rw-rw-r-- 1 fdc kermit 209888 Sep 25 2013 [936]bronx73.jpg
- -rw-rw-r-- 1 fdc kermit 254885 Jun 21 2015 [937]bronx730.jpg
- -rw-rw-r-- 1 fdc kermit 342492 Jun 21 2015 [938]bronx731.jpg
- -rw-rw-r-- 1 fdc kermit 346890 Jun 21 2015 [939]bronx732.jpg
- -rw-rw-r-- 1 fdc kermit 250429 Jun 21 2015 [940]bronx733.jpg
- -rw-rw-r-- 1 fdc kermit 230024 Jun 21 2015 [941]bronx734.jpg
- -rw-rw-r-- 1 fdc kermit 330434 Jun 21 2015 [942]bronx735.jpg
- -rw-rw-r-- 1 fdc kermit 361234 Jun 21 2015 [943]bronx736.jpg
- -rw-rw-r-- 1 fdc kermit 323662 Jun 21 2015 [944]bronx737.jpg
- -rw-rw-r-- 1 fdc kermit 416479 Jun 21 2015 [945]bronx738.jpg
- -rw-rw-r-- 1 fdc kermit 306430 Jun 21 2015 [946]bronx739.jpg
- -rw-rw-r-- 1 fdc kermit 327375 Sep 25 2013 [947]bronx74.jpg
- -rw-rw-r-- 1 fdc kermit 275824 Jun 21 2015 [948]bronx740.jpg
- -rw-rw-r-- 1 fdc kermit 367076 Jun 21 2015 [949]bronx741.jpg
- -rw-rw-r-- 1 fdc kermit 361883 Jun 21 2015 [950]bronx742.jpg
- -rw-rw-r-- 1 fdc kermit 251692 Jun 26 2015 [951]bronx743.jpg
- -rw-rw-r-- 1 fdc kermit 389883 Jun 26 2015 [952]bronx744.jpg
- -rw-rw-r-- 1 fdc kermit 207489 Jun 26 2015 [953]bronx745.jpg
- -rw-rw-r-- 1 fdc kermit 311515 Jun 26 2015 [954]bronx746.jpg
- -rw-rw-r-- 1 fdc kermit 265466 Jun 26 2015 [955]bronx747.jpg
- -rw-r--r-- 1 fdc kermit 1334 Jun 26 2015 [956]bronx748.html
- -rw-rw-r-- 1 fdc kermit 297373 Jun 26 2015 [957]bronx748.jpg
- -rw-rw-r-- 1 fdc kermit 256426 Jul 22 2015 [958]bronx749.jpg
- -rw-rw-r-- 1 fdc kermit 264860 Sep 25 2013 [959]bronx75.jpg
- -rw-rw-r-- 1 fdc kermit 188517 Aug 31 2015 [960]bronx750.jpg
- -rw-rw-r-- 1 fdc kermit 251182 Aug 31 2015 [961]bronx751.jpg
- -rw-rw-r-- 1 fdc kermit 204928 Aug 31 2015 [962]bronx752.jpg
- -rw-rw-r-- 1 fdc kermit 386322 Aug 31 2015 [963]bronx753.jpg
- -rw-rw-r-- 1 fdc kermit 266906 Aug 31 2015 [964]bronx754.jpg
- -rw-rw-r-- 1 fdc kermit 246862 Aug 31 2015 [965]bronx755.jpg
- -rw-rw-r-- 1 fdc kermit 74748 Aug 31 2015 [966]bronx756.jpg
- -rw-rw-r-- 1 fdc kermit 319279 Aug 31 2015 [967]bronx757.jpg
- -rw-rw-r-- 1 fdc kermit 215887 Aug 31 2015 [968]bronx758.jpg
- -rw-rw-r-- 1 fdc kermit 300725 Aug 31 2015 [969]bronx759.jpg
- -rw-rw-r-- 1 fdc kermit 141169 Sep 25 2013 [970]bronx76.jpg
- -rw-rw-r-- 1 fdc kermit 311194 Aug 31 2015 [971]bronx760.jpg
- -rw-rw-r-- 1 fdc kermit 285566 Aug 31 2015 [972]bronx761.jpg
- -rw-rw-r-- 1 fdc kermit 69863 Aug 31 2015 [973]bronx762.jpg
- -rw-rw-r-- 1 fdc kermit 334684 Aug 31 2015 [974]bronx763.jpg
- -rw-rw-r-- 1 fdc kermit 242439 Aug 31 2015 [975]bronx764.jpg
- -rw-rw-r-- 1 fdc kermit 253022 Aug 31 2015 [976]bronx765.jpg
- -rw-rw-r-- 1 fdc kermit 291390 Aug 31 2015 [977]bronx766.jpg
- -rw-rw-r-- 1 fdc kermit 283660 Aug 31 2015 [978]bronx767.jpg
- -rw-rw-r-- 1 fdc kermit 222117 Aug 31 2015 [979]bronx768.jpg
- -rw-rw-r-- 1 fdc kermit 134808 Aug 31 2015 [980]bronx769.jpg
- -rw-rw-r-- 1 fdc kermit 169869 Sep 26 2013 [981]bronx77.jpg
- -rw-rw-r-- 1 fdc kermit 253774 Aug 31 2015 [982]bronx770.jpg
- -rw-rw-r-- 1 fdc kermit 238920 Aug 31 2015 [983]bronx771.jpg
- -rw-rw-r-- 1 fdc kermit 301852 Aug 31 2015 [984]bronx772.jpg
- -rw-rw-r-- 1 fdc kermit 165006 Aug 31 2015 [985]bronx773.jpg
- -rw-rw-r-- 1 fdc kermit 489160 Aug 31 2015 [986]bronx774.jpg
- -rw-rw-r-- 1 fdc kermit 185655 Aug 31 2015 [987]bronx775.jpg
- -rw-rw-r-- 1 fdc kermit 214489 Aug 31 2015 [988]bronx776.jpg
- -rw-rw-r-- 1 fdc kermit 326169 Aug 31 2015 [989]bronx777.jpg
- -rw-rw-r-- 1 fdc kermit 210837 Sep 1 2015 [990]bronx778.jpg
- -rw-rw-r-- 1 fdc kermit 286606 Sep 1 2015 [991]bronx779.jpg
- -rw-rw-r-- 1 fdc kermit 69733 Sep 26 2013 [992]bronx78.jpg
- -rw-rw-r-- 1 fdc kermit 279921 Sep 1 2015 [993]bronx780.jpg
- -rw-rw-r-- 1 fdc kermit 282303 Sep 1 2015 [994]bronx781.jpg
- -rw-rw-r-- 1 fdc kermit 139021 Sep 1 2015 [995]bronx782.jpg
- -rw-rw-r-- 1 fdc kermit 198922 Sep 1 2015 [996]bronx783.jpg
- -rw-rw-r-- 1 fdc kermit 58262 Sep 27 2015 [997]bronx784.jpg
- -rw-rw-r-- 1 fdc kermit 372524 Sep 27 2015 [998]bronx785.jpg
- -rw-rw-r-- 1 fdc kermit 289246 Sep 27 2015 [999]bronx786.jpg
- -rw-rw-r-- 1 fdc kermit 351833 Sep 27 2015 [1000]bronx787.jpg
- -rw-rw-r-- 1 fdc kermit 177202 Sep 27 2015 [1001]bronx788.jpg
- -rw-rw-r-- 1 fdc kermit 271954 Sep 27 2015 [1002]bronx789.jpg
- -rw-rw-r-- 1 fdc kermit 244353 Sep 26 2013 [1003]bronx79.jpg
- -rw-rw-r-- 1 fdc kermit 276667 Sep 27 2015 [1004]bronx790.jpg
- -rw-rw-r-- 1 fdc kermit 186038 Sep 27 2015 [1005]bronx791.jpg
- -rw-rw-r-- 1 fdc kermit 476905 Sep 27 2015 [1006]bronx792.jpg
- -rw-rw-r-- 1 fdc kermit 243239 Sep 27 2015 [1007]bronx793.jpg
- -rw-rw-r-- 1 fdc kermit 250251 Sep 27 2015 [1008]bronx794.jpg
- -rw-rw-r-- 1 fdc kermit 272946 Sep 27 2015 [1009]bronx795.jpg
- -rw-rw-r-- 1 fdc kermit 290889 Sep 27 2015 [1010]bronx796.jpg
- -rw-rw-r-- 1 fdc kermit 362123 Sep 27 2015 [1011]bronx797.jpg
- -rw-rw-r-- 1 fdc kermit 256573 Sep 27 2015 [1012]bronx798.jpg
- -rw-rw-r-- 1 fdc kermit 233973 Sep 27 2015 [1013]bronx799.jpg
- -rw-rw-r-- 1 fdc kermit 123846 Sep 4 2013 [1014]bronx8.jpg
- -rw-rw-r-- 1 fdc kermit 261222 Sep 27 2013 [1015]bronx80.jpg
- -rw-rw-r-- 1 fdc kermit 257561 Sep 27 2015 [1016]bronx800.jpg
- -rw-rw-r-- 1 fdc kermit 642320 Jul 2 2017 [1017]bronx801.jpg
- -rw-rw-r-- 1 fdc kermit 1523794 Jul 2 2017 [1018]bronx802.jpg
- -rw-rw-r-- 1 fdc kermit 1662148 Jul 2 2017 [1019]bronx803.jpg
- -rw-rw-r-- 1 fdc kermit 1523238 Jul 2 2017 [1020]bronx804.jpg
- -rw-rw-r-- 1 fdc kermit 1144429 Jul 2 2017 [1021]bronx805.jpg
- -rw-rw-r-- 1 fdc kermit 1014648 Jul 2 2017 [1022]bronx806.jpg
- -rw-rw-r-- 1 fdc kermit 1069510 Jul 2 2017 [1023]bronx807.jpg
- -rw-rw-r-- 1 fdc kermit 973978 Jul 2 2017 [1024]bronx808.jpg
- -rw-rw-r-- 1 fdc kermit 1379369 Jul 2 2017 [1025]bronx809.jpg
- -rw-rw-r-- 1 fdc kermit 69895 Sep 26 2013 [1026]bronx81.jpg
- -rw-rw-r-- 1 fdc kermit 1443702 Jul 2 2017 [1027]bronx810.jpg
- -rw-rw-r-- 1 fdc kermit 1047775 Jul 2 2017 [1028]bronx811.jpg
- -rw-rw-r-- 1 fdc kermit 1080801 Jul 2 2017 [1029]bronx812.jpg
- -rw-rw-r-- 1 fdc kermit 500447 Jul 2 2017 [1030]bronx813.jpg
- -rw-rw-r-- 1 fdc kermit 1200981 Jul 2 2017 [1031]bronx814.jpg
- -rw-rw-r-- 1 fdc kermit 2000683 Jul 2 2017 [1032]bronx815.jpg
- -rw-rw-r-- 1 fdc kermit 1696699 Jul 2 2017 [1033]bronx816.jpg
- -rw-rw-r-- 1 fdc kermit 910789 Jul 2 2017 [1034]bronx817.jpg
- -rw-rw-r-- 1 fdc kermit 1200274 Jul 2 2017 [1035]bronx818.jpg
- -rw-rw-r-- 1 fdc kermit 1178301 Jul 2 2017 [1036]bronx819.jpg
- -rw-rw-r-- 1 fdc kermit 73645 Sep 26 2013 [1037]bronx82.jpg
- -rw-rw-r-- 1 fdc kermit 1086989 Jul 2 2017 [1038]bronx820.jpg
- -rw-rw-r-- 1 fdc kermit 1041271 Jul 2 2017 [1039]bronx821.jpg
- -rw-rw-r-- 1 fdc kermit 1783854 Jul 2 2017 [1040]bronx822.jpg
- -rw-rw-r-- 1 fdc kermit 1868789 Jul 2 2017 [1041]bronx823.jpg
- -rw-rw-r-- 1 fdc kermit 1705773 Jul 2 2017 [1042]bronx824.jpg
- -rw-rw-r-- 1 fdc kermit 1535057 Jul 2 2017 [1043]bronx825.jpg
- -rw-rw-r-- 1 fdc kermit 962434 Jul 2 2017 [1044]bronx826.jpg
- -rw-rw-r-- 1 fdc kermit 1442461 Jul 2 2017 [1045]bronx827.jpg
- -rw-rw-r-- 1 fdc kermit 978343 Jul 2 2017 [1046]bronx828.jpg
- -rw-rw-r-- 1 fdc kermit 929815 Jul 2 2017 [1047]bronx829.jpg
- -rw-rw-r-- 1 fdc kermit 210852 Sep 26 2013 [1048]bronx83.jpg
- -rw-rw-r-- 1 fdc kermit 972582 Jul 2 2017 [1049]bronx830.jpg
- -rw-rw-r-- 1 fdc kermit 1388460 Jul 2 2017 [1050]bronx831.jpg
- -rw-rw-r-- 1 fdc kermit 1285707 Jul 2 2017 [1051]bronx832.jpg
- -rw-rw-r-- 1 fdc kermit 1015434 Jul 2 2017 [1052]bronx833.jpg
- -rw-rw-r-- 1 fdc kermit 1297304 Jul 2 2017 [1053]bronx834.jpg
- -rw-rw-r-- 1 fdc kermit 1346721 Jul 2 2017 [1054]bronx835.jpg
- -rw-rw-r-- 1 fdc kermit 1839491 Jul 2 2017 [1055]bronx836.jpg
- -rw-rw-r-- 1 fdc kermit 1801865 Jul 2 2017 [1056]bronx837.jpg
- -rw-rw-r-- 1 fdc kermit 1586900 Jul 2 2017 [1057]bronx838.jpg
- -rw-rw-r-- 1 fdc kermit 1731179 Jul 2 2017 [1058]bronx839.jpg
- -rw-rw-r-- 1 fdc kermit 59803 Sep 26 2013 [1059]bronx84.jpg
- -rw-rw-r-- 1 fdc kermit 1828148 Jul 2 2017 [1060]bronx840.jpg
- -rw-rw-r-- 1 fdc kermit 1423501 Jul 2 2017 [1061]bronx841.jpg
- -rw-rw-r-- 1 fdc kermit 1066756 Jul 2 2017 [1062]bronx842.jpg
- -rw-rw-r-- 1 fdc kermit 1557651 Jul 2 2017 [1063]bronx843.jpg
- -rw-rw-r-- 1 fdc kermit 832145 Jul 2 2017 [1064]bronx844.jpg
- -rw-rw-r-- 1 fdc kermit 1334116 Jul 2 2017 [1065]bronx845.jpg
- -rw-rw-r-- 1 fdc kermit 1607946 Jul 2 2017 [1066]bronx846.jpg
- -rw-rw-r-- 1 fdc kermit 1148493 Jul 2 2017 [1067]bronx847.jpg
- -rw-rw-r-- 1 fdc kermit 682915 Jul 2 2017 [1068]bronx848.jpg
- -rw-rw-r-- 1 fdc kermit 1328098 Jul 2 2017 [1069]bronx849.jpg
- -rw-rw-r-- 1 fdc kermit 148579 Sep 26 2013 [1070]bronx85.jpg
- -rw-rw-r-- 1 fdc kermit 1250706 Jul 2 2017 [1071]bronx850.jpg
- -rw-rw-r-- 1 fdc kermit 1240352 Jul 2 2017 [1072]bronx851.jpg
- -rw-rw-r-- 1 fdc kermit 669464 Jul 2 2017 [1073]bronx852.jpg
- -rw-rw-r-- 1 fdc kermit 1236566 Jul 2 2017 [1074]bronx853.jpg
- -rw-rw-r-- 1 fdc kermit 640820 Jul 2 2017 [1075]bronx854.jpg
- -rw-rw-r-- 1 fdc kermit 1358595 Jul 2 2017 [1076]bronx855.jpg
- -rw-rw-r-- 1 fdc kermit 1709023 Jul 2 2017 [1077]bronx856.jpg
- -rw-rw-r-- 1 fdc kermit 1251342 Jul 2 2017 [1078]bronx857.jpg
- -rw-rw-r-- 1 fdc kermit 886431 Jul 2 2017 [1079]bronx858.jpg
- -rw-rw-r-- 1 fdc kermit 774109 Jul 2 2017 [1080]bronx859.jpg
- -rw-rw-r-- 1 fdc kermit 114832 Sep 26 2013 [1081]bronx86.jpg
- -rw-rw-r-- 1 fdc kermit 995358 Jul 2 2017 [1082]bronx860.jpg
- -rw-rw-r-- 1 fdc kermit 1192660 Jul 2 2017 [1083]bronx861.jpg
- -rw-rw-r-- 1 fdc kermit 1376616 Jul 2 2017 [1084]bronx862.jpg
- -rw-rw-r-- 1 fdc kermit 1279206 Jul 2 2017 [1085]bronx863.jpg
- -rw-rw-r-- 1 fdc kermit 1323116 Jul 2 2017 [1086]bronx864.jpg
- -rw-rw-r-- 1 fdc kermit 803014 Jul 2 2017 [1087]bronx865.jpg
- -rw-rw-r-- 1 fdc kermit 1578811 Jul 2 2017 [1088]bronx866.jpg
- -rw-rw-r-- 1 fdc kermit 1522577 Jul 2 2017 [1089]bronx867.jpg
- -rw-rw-r-- 1 fdc kermit 1237122 Jul 2 2017 [1090]bronx868.jpg
- -rw-rw-r-- 1 fdc kermit 823984 Jul 3 2017 [1091]bronx869.jpg
- -rw-rw-r-- 1 fdc kermit 293267 Sep 26 2013 [1092]bronx87.jpg
- -rw-rw-r-- 1 fdc kermit 1016806 Jul 3 2017 [1093]bronx870.jpg
- -rw-rw-r-- 1 fdc kermit 1310989 Jul 3 2017 [1094]bronx871.jpg
- -rw-rw-r-- 1 fdc kermit 1457611 Jul 3 2017 [1095]bronx872.jpg
- -rw-rw-r-- 1 fdc kermit 1580163 Jul 3 2017 [1096]bronx873.jpg
- -rw-rw-r-- 1 fdc kermit 1569760 Jul 3 2017 [1097]bronx874.jpg
- -rw-rw-r-- 1 fdc kermit 1571763 Jul 3 2017 [1098]bronx875.jpg
- -rw-rw-r-- 1 fdc kermit 1500635 Jul 3 2017 [1099]bronx876.jpg
- -rw-rw-r-- 1 fdc kermit 1551287 Jul 3 2017 [1100]bronx877.jpg
- -rw-rw-r-- 1 fdc kermit 1400550 Jul 3 2017 [1101]bronx878.jpg
- -rw-rw-r-- 1 fdc kermit 1698311 Jul 3 2017 [1102]bronx879.jpg
- -rw-rw-r-- 1 fdc kermit 203374 Sep 26 2013 [1103]bronx88.jpg
- -rw-rw-r-- 1 fdc kermit 1667972 Jul 3 2017 [1104]bronx880.jpg
- -rw-rw-r-- 1 fdc kermit 1243537 Jul 3 2017 [1105]bronx881.jpg
- -rw-r--r-- 1 fdc kermit 1082435 Jul 3 2017 [1106]bronx882.jpg
- -rw-rw-r-- 1 fdc kermit 546406 Jul 3 2017 [1107]bronx883.jpg
- -rw-rw-r-- 1 fdc kermit 1109431 Jul 3 2017 [1108]bronx884.jpg
- -rw-rw-r-- 1 fdc kermit 1379440 Jul 3 2017 [1109]bronx885.jpg
- -rw-rw-r-- 1 fdc kermit 700405 Jul 3 2017 [1110]bronx886.jpg
- -rw-rw-r-- 1 fdc kermit 1337783 Jul 3 2017 [1111]bronx887.jpg
- -rw-rw-r-- 1 fdc kermit 1347324 Jul 3 2017 [1112]bronx888.jpg
- -rw-rw-r-- 1 fdc kermit 775094 Jul 8 2016 [1113]bronx889.jpg
- -rw-rw-r-- 1 fdc kermit 168034 Sep 26 2013 [1114]bronx89.jpg
- -rw-rw-r-- 1 fdc kermit 882185 Jul 3 2017 [1115]bronx890.jpg
- -rw-rw-r-- 1 fdc kermit 1149077 Jul 4 2017 [1116]bronx891.jpg
- -rw-rw-r-- 1 fdc kermit 1388183 Jul 4 2017 [1117]bronx892.jpg
- -rw-rw-r-- 1 fdc kermit 1118692 Jul 4 2017 [1118]bronx893.jpg
- -rw-rw-r-- 1 fdc kermit 1239719 Jul 4 2017 [1119]bronx894.jpg
- -rw-rw-r-- 1 fdc kermit 1048357 Jul 4 2017 [1120]bronx895.jpg
- -rw-rw-r-- 1 fdc kermit 897179 Jul 4 2017 [1121]bronx896.jpg
- -rw-rw-r-- 1 fdc kermit 1305285 Jul 4 2017 [1122]bronx897.jpg
- -rw-rw-r-- 1 fdc kermit 1152005 Jul 4 2017 [1123]bronx898.jpg
- -rw-rw-r-- 1 fdc kermit 985096 Jul 4 2017 [1124]bronx899.jpg
- -rw-rw-r-- 1 fdc kermit 97101 May 18 2014 [1125]bronx9.jpg
- -rw-rw-r-- 1 fdc kermit 195270 Sep 26 2013 [1126]bronx90.jpg
- -rw-rw-r-- 1 fdc kermit 798716 Jul 4 2017 [1127]bronx900.jpg
- -rw-rw-r-- 1 fdc kermit 563411 May 11 2019 [1128]bronx901.jpg
- -rw-rw-r-- 1 fdc kermit 242150 May 10 2019 [1129]bronx902.jpg
- -rw-rw-r-- 1 fdc kermit 693225 May 10 2019 [1130]bronx903.jpg
- -rw-rw-r-- 1 fdc kermit 620753 May 11 2019 [1131]bronx904.jpg
- -rw-rw-r-- 1 fdc kermit 447470 May 11 2019 [1132]bronx905.jpg
- -rw-rw-r-- 1 fdc kermit 404937 May 11 2019 [1133]bronx906.jpg
- -rw-rw-r-- 1 fdc kermit 737101 May 11 2019 [1134]bronx907.jpg
- -rw-rw-r-- 1 fdc kermit 702718 May 11 2019 [1135]bronx908.jpg
- -rw-rw-r-- 1 fdc kermit 368284 May 11 2019 [1136]bronx909.jpg
- -rw-rw-r-- 1 fdc kermit 82195 Sep 26 2013 [1137]bronx91.jpg
- -rw-rw-r-- 1 fdc kermit 578467 May 11 2019 [1138]bronx910.jpg
- -rw-rw-r-- 1 fdc kermit 515401 May 11 2019 [1139]bronx911.jpg
- -rw-rw-r-- 1 fdc kermit 573383 May 11 2019 [1140]bronx912.jpg
- -rw-rw-r-- 1 fdc kermit 343586 May 11 2019 [1141]bronx913.jpg
- -rw-rw-r-- 1 fdc kermit 381645 May 11 2019 [1142]bronx914.jpg
- -rw-rw-r-- 1 fdc kermit 423096 May 11 2019 [1143]bronx915.jpg
- -rw-rw-r-- 1 fdc kermit 284356 May 11 2019 [1144]bronx916.jpg
- -rw-rw-r-- 1 fdc kermit 394558 May 11 2019 [1145]bronx917.jpg
- -rw-rw-r-- 1 fdc kermit 710884 May 11 2019 [1146]bronx918.jpg
- -rw-rw-r-- 1 fdc kermit 668628 May 11 2019 [1147]bronx919.jpg
- -rw-rw-r-- 1 fdc kermit 225021 Sep 26 2013 [1148]bronx92.jpg
- -rw-rw-r-- 1 fdc kermit 951191 May 11 2019 [1149]bronx920.jpg
- -rw-rw-r-- 1 fdc kermit 640593 May 11 2019 [1150]bronx921.jpg
- -rw-rw-r-- 1 fdc kermit 839318 May 11 2019 [1151]bronx922.jpg
- -rw-rw-r-- 1 fdc kermit 782395 May 11 2019 [1152]bronx923.jpg
- -rw-rw-r-- 1 fdc kermit 712912 May 11 2019 [1153]bronx924.jpg
- -rw-rw-r-- 1 fdc kermit 511359 May 11 2019 [1154]bronx925.jpg
- -rw-rw-r-- 1 fdc kermit 188530 May 11 2019 [1155]bronx926.jpg
- -rw-rw-r-- 1 fdc kermit 546951 May 11 2019 [1156]bronx927.jpg
- -rw-rw-r-- 1 fdc kermit 523441 May 11 2019 [1157]bronx928.jpg
- -rw-rw-r-- 1 fdc kermit 543050 May 11 2019 [1158]bronx929.jpg
- -rw-rw-r-- 1 fdc kermit 127325 Sep 26 2013 [1159]bronx93.jpg
- -rw-rw-r-- 1 fdc kermit 530805 May 11 2019 [1160]bronx930.jpg
- -rw-rw-r-- 1 fdc kermit 431230 May 11 2019 [1161]bronx931.jpg
- -rw-rw-r-- 1 fdc kermit 496006 May 11 2019 [1162]bronx932.jpg
- -rw-rw-r-- 1 fdc kermit 435093 May 11 2019 [1163]bronx933.jpg
- -rw-rw-r-- 1 fdc kermit 840513 May 11 2019 [1164]bronx934.jpg
- -rw-rw-r-- 1 fdc kermit 799752 May 11 2019 [1165]bronx935.jpg
- -rw-rw-r-- 1 fdc kermit 468668 May 11 2019 [1166]bronx936.jpg
- -rw-rw-r-- 1 fdc kermit 420329 May 11 2019 [1167]bronx937.jpg
- -rw-rw-r-- 1 fdc kermit 892402 May 11 2019 [1168]bronx938.jpg
- -rw-rw-r-- 1 fdc kermit 802573 May 11 2019 [1169]bronx939.jpg
- -rw-rw-r-- 1 fdc kermit 188958 Sep 26 2013 [1170]bronx94.jpg
- -rw-rw-r-- 1 fdc kermit 536976 May 11 2019 [1171]bronx940.jpg
- -rw-rw-r-- 1 fdc kermit 396624 May 11 2019 [1172]bronx941.jpg
- -rw-rw-r-- 1 fdc kermit 422139 May 11 2019 [1173]bronx942.jpg
- -rw-rw-r-- 1 fdc kermit 791262 May 11 2019 [1174]bronx943.jpg
- -rw-rw-r-- 1 fdc kermit 675804 May 11 2019 [1175]bronx944.jpg
- -rw-rw-r-- 1 fdc kermit 695320 May 11 2019 [1176]bronx945.jpg
- -rw-rw-r-- 1 fdc kermit 492921 May 11 2019 [1177]bronx946.jpg
- -rw-rw-r-- 1 fdc kermit 688158 May 11 2019 [1178]bronx947.jpg
- -rw-rw-r-- 1 fdc kermit 358353 May 11 2019 [1179]bronx948.jpg
- -rw-rw-r-- 1 fdc kermit 149593 May 11 2019 [1180]bronx949.jpg
- -rw-rw-r-- 1 fdc kermit 336370 Sep 26 2013 [1181]bronx95.jpg
- -rw-rw-r-- 1 fdc kermit 568473 May 11 2019 [1182]bronx950.jpg
- -rw-rw-r-- 1 fdc kermit 700205 May 11 2019 [1183]bronx951.jpg
- -rw-rw-r-- 1 fdc kermit 239440 May 11 2019 [1184]bronx952.jpg
- -rw-rw-r-- 1 fdc kermit 321890 May 11 2019 [1185]bronx953.jpg
- -rw-rw-r-- 1 fdc kermit 311237 May 11 2019 [1186]bronx954.jpg
- -rw-rw-r-- 1 fdc kermit 309402 May 11 2019 [1187]bronx955.jpg
- -rw-rw-r-- 1 fdc kermit 321149 May 11 2019 [1188]bronx956.jpg
- -rw-rw-r-- 1 fdc kermit 437740 May 11 2019 [1189]bronx957.jpg
- -rw-rw-r-- 1 fdc kermit 384354 May 11 2019 [1190]bronx958.jpg
- -rw-rw-r-- 1 fdc kermit 494048 May 11 2019 [1191]bronx959.jpg
- -rw-rw-r-- 1 fdc kermit 46107 Sep 26 2013 [1192]bronx96.jpg
- -rw-rw-r-- 1 fdc kermit 526197 May 11 2019 [1193]bronx960.jpg
- -rw-rw-r-- 1 fdc kermit 429310 May 11 2019 [1194]bronx961.jpg
- -rw-rw-r-- 1 fdc kermit 652937 May 11 2019 [1195]bronx962.jpg
- -rw-rw-r-- 1 fdc kermit 380469 May 11 2019 [1196]bronx963.jpg
- -rw-rw-r-- 1 fdc kermit 443654 May 11 2019 [1197]bronx964.jpg
- -rw-rw-r-- 1 fdc kermit 394969 May 11 2019 [1198]bronx965.jpg
- -rw-rw-r-- 1 fdc kermit 515713 May 11 2019 [1199]bronx966.jpg
- -rw-rw-r-- 1 fdc kermit 386950 May 11 2019 [1200]bronx967.jpg
- -rw-rw-r-- 1 fdc kermit 362514 May 11 2019 [1201]bronx968.jpg
- -rw-rw-r-- 1 fdc kermit 379148 May 11 2019 [1202]bronx969.jpg
- -rw-rw-r-- 1 fdc kermit 345099 Sep 26 2013 [1203]bronx97.jpg
- -rw-rw-r-- 1 fdc kermit 510717 May 11 2019 [1204]bronx970.jpg
- -rw-rw-r-- 1 fdc kermit 443870 May 11 2019 [1205]bronx971.jpg
- -rw-rw-r-- 1 fdc kermit 413812 May 11 2019 [1206]bronx972.jpg
- -rw-rw-r-- 1 fdc kermit 669096 May 11 2019 [1207]bronx973.jpg
- -rw-rw-r-- 1 fdc kermit 662712 May 11 2019 [1208]bronx974.jpg
- -rw-rw-r-- 1 fdc kermit 211763 May 11 2019 [1209]bronx975.jpg
- -rw-rw-r-- 1 fdc kermit 467580 May 11 2019 [1210]bronx976.jpg
- -rw-rw-r-- 1 fdc kermit 490698 May 11 2019 [1211]bronx977.jpg
- -rw-rw-r-- 1 fdc kermit 699235 May 11 2019 [1212]bronx978.jpg
- -rw-rw-r-- 1 fdc kermit 896056 May 11 2019 [1213]bronx979.jpg
- -rw-rw-r-- 1 fdc kermit 193489 Sep 26 2013 [1214]bronx98.jpg
- -rw-rw-r-- 1 fdc kermit 718722 May 11 2019 [1215]bronx980.jpg
- -rw-rw-r-- 1 fdc kermit 451755 May 11 2019 [1216]bronx981.jpg
- -rw-rw-r-- 1 fdc kermit 187530 May 10 2019 [1217]bronx982.jpg
- -rw-rw-r-- 1 fdc kermit 691513 May 11 2019 [1218]bronx983.jpg
- -rw-rw-r-- 1 fdc kermit 819706 May 11 2019 [1219]bronx984.jpg
- -rw-rw-r-- 1 fdc kermit 590423 May 11 2019 [1220]bronx985.jpg
- -rw-rw-r-- 1 fdc kermit 420780 May 10 2019 [1221]bronx986.jpg
- -rw-rw-r-- 1 fdc kermit 294076 May 10 2019 [1222]bronx987.jpg
- -rw-rw-r-- 1 fdc kermit 426531 May 11 2019 [1223]bronx988.jpg
- -rw-rw-r-- 1 fdc kermit 553649 May 10 2019 [1224]bronx989.jpg
- -rw-rw-r-- 1 fdc kermit 34406 Sep 26 2013 [1225]bronx99.jpg
- -rw-rw-r-- 1 fdc kermit 627031 May 10 2019 [1226]bronx990.jpg
- -rw-rw-r-- 1 fdc kermit 434422 May 10 2019 [1227]bronx991.jpg
- -rw-rw-r-- 1 fdc kermit 803055 May 11 2019 [1228]bronx992.jpg
- -rw-rw-r-- 1 fdc kermit 613986 May 11 2019 [1229]bronx993.jpg
- -rw-rw-r-- 1 fdc kermit 537619 May 11 2019 [1230]bronx994.jpg
- -rw-rw-r-- 1 fdc kermit 675494 May 10 2019 [1231]bronx995.jpg
- -rw-rw-r-- 1 fdc kermit 724857 May 11 2019 [1232]bronx996.jpg
- -rw-rw-r-- 1 fdc kermit 551979 May 11 2019 [1233]bronx997.jpg
- -rw-rw-r-- 1 fdc kermit 765077 May 11 2019 [1234]bronx998.jpg
- -rw-rw-r-- 1 fdc kermit 552341 May 11 2019 [1235]bronx999.jpg
- -rw-r--r-- 1 fdc kermit 14177 Sep 18 2013 [1236]bronxgallery-22
- 0.jpg
- -rw-r--r-- 1 fdc kermit 75326 Sep 18 2013 [1237]bronxgallery.jp
- g
- -rw-r--r-- 1 fdc kermit 36175 Jul 23 2014 [1238]bronxgallery0-7
- 00.jpg
- -rw-r--r-- 1 fdc kermit 40388 Jul 23 2014 [1239]bronxgallery0-7
- 40.jpg
- -rw-r--r-- 1 fdc kermit 118443 Sep 18 2013 [1240]bronxgallery0.j
- pg
- -rw-r--r-- 1 fdc kermit 69596 Jun 19 1998 [1241]brooklyn.gif
- -rw-r--r-- 1 fdc kermit 20217 Jun 20 2000 [1242]bugs01.jpg
- -rw-r--r-- 1 fdc kermit 10389 Jun 20 2000 [1243]bugs02.jpg
- -rw-r--r-- 1 fdc kermit 560 Dec 26 2015 [1244]burmese.utf8
- -rw-r--r-- 1 fdc kermit 23923 Aug 4 2019 [1245]buttons1968-str
- ip-100.jpg
- -rw-r--r-- 1 fdc kermit 16758 Aug 4 2019 [1246]buttons1968-str
- ip-80.jpg
- -rw-r--r-- 1 fdc kermit 34357 Feb 21 2002 [1247]bwaylocal.jpg
- drwxr-xr-x 2 fdc kermit 7 Aug 7 2013 [1248]bxday/
- -rw-rw-r-- 1 fdc kermit 3420 Sep 16 2018 [1249]bxphotos.html
- -rw-rw-r-- 1 fdc kermit 32948 Sep 16 2018 [1250]bxphotos.html.~
- 1~
- -rw-r--r-- 1 fdc kermit 2116 Sep 25 2014 [1251]c64.html
- -rw-r--r-- 1 fdc kermit 16750 Aug 25 2019 [1252]cable.html
- -rw-r--r-- 1 fdc kermit 16575 Sep 27 2011 [1253]cable.html.~1~
- -rw-r--r-- 1 fdc kermit 16805 Jun 24 14:44 [1254]cables.html
- -rw-r--r-- 1 fdc kermit 16750 Aug 25 2019 [1255]cables.html.1
- -rw-r--r-- 1 fdc kermit 16750 Aug 25 2019 [1256]cables.html.~1~
- -rw-r--r-- 1 fdc kermit 17329 Jun 24 11:44 [1257]cables.html.~2~
- -rw-r--r-- 1 fdc kermit 416741 Jul 14 2002 [1258]campus.jpg
- -rw-r--r-- 1 fdc kermit 69142 Jul 14 2002 [1259]campus2.jpg
- -rw-r--r-- 1 fdc kermit 88752 Jul 14 2002 [1260]campus3.jpg
- -rw-r--r-- 1 fdc kermit 89150 Jul 14 2002 [1261]campus4.jpg
- -rw-r--r-- 1 fdc kermit 4391 Jul 11 2011 [1262]cancelation.htm
- l
- -rw-r--r-- 1 fdc kermit 4391 Jul 11 2011 [1263]cancellation.ht
- ml
- -rw-r--r-- 1 fdc kermit 1372 Mar 10 2011 [1264]card2-40.jpg
- -rw-r--r-- 1 fdc kermit 4514 Mar 10 2011 [1265]card2-80.jpg
- -rw-r--r-- 1 fdc kermit 7036 Sep 23 2011 [1266]case01.html
- -rw-r--r-- 1 fdc kermit 7831 Sep 23 2011 [1267]case02.html
- -rw-r--r-- 1 fdc kermit 9062 Sep 25 2014 [1268]case03.html
- -rw-r--r-- 1 fdc kermit 5675 Sep 25 2014 [1269]case04.html
- -rw-r--r-- 1 fdc kermit 7926 Sep 23 2011 [1270]case05.html
- -rw-r--r-- 1 fdc kermit 4592 Sep 25 2014 [1271]case06.html
- -rw-r--r-- 1 fdc kermit 6659 Sep 23 2011 [1272]case07.html
- -rw-r--r-- 1 fdc kermit 8217 Nov 27 2015 [1273]case08.html
- -rw-r--r-- 1 fdc kermit 8056 Sep 23 2011 [1274]case08.html.~1~
- -rw-r--r-- 1 fdc kermit 8421 Feb 26 2018 [1275]case09.html
- -rw-r--r-- 1 fdc kermit 7907 Sep 25 2014 [1276]case09.html.~1~
- -rw-r--r-- 1 fdc kermit 8198 Mar 5 2016 [1277]case09.html.~2~
- -rw-r--r-- 1 fdc kermit 28139 Sep 25 2014 [1278]case10.html
- -rw-r--r-- 1 fdc kermit 6436 Sep 23 2011 [1279]case11.html
- -rw-r--r-- 1 fdc kermit 7310 Sep 25 2014 [1280]case12.html
- -rw-r--r-- 1 fdc kermit 5929 Sep 23 2011 [1281]case13.html
- -rw-r--r-- 1 fdc kermit 9951 Sep 25 2014 [1282]case14.html
- -rw-r--r-- 1 fdc kermit 7469 Sep 23 2011 [1283]case15.html
- -rw-r--r-- 1 fdc kermit 7397 Sep 25 2014 [1284]case16.html
- -rw-r--r-- 1 fdc kermit 8771 Sep 23 2011 [1285]case17.html
- -rw-r--r-- 1 fdc kermit 3916 Sep 23 2011 [1286]case18.html
- -rw-r--r-- 1 fdc kermit 3736 Sep 25 2014 [1287]case19.html
- -rw-r--r-- 1 fdc kermit 16883 Sep 23 2011 [1288]case20.html
- -rw-r--r-- 1 fdc kermit 33685 Sep 25 2014 [1289]case21.html
- -rw-r--r-- 1 fdc kermit 31695 Sep 25 2014 [1290]case21x.html
- -rw-r--r-- 1 fdc kermit 3470 Sep 23 2011 [1291]case22.html
- -rw-r--r-- 1 fdc kermit 15990 Sep 25 2014 [1292]case23.html
- -rw-r--r-- 1 fdc kermit 14683 Sep 23 2011 [1293]case24.html
- -rw-r--r-- 1 fdc kermit 6618 Sep 25 2014 [1294]case25.html
- -rw-r--r-- 1 fdc kermit 4142 Sep 23 2011 [1295]case26.html
- -rw-r--r-- 1 fdc kermit 4498 Sep 25 2014 [1296]case27.html
- -rw-r--r-- 1 fdc kermit 2793 Sep 25 2014 [1297]case28.html
- -rw-r--r-- 1 fdc kermit 6198 Dec 11 2015 [1298]case29.html
- -rw-r--r-- 1 fdc kermit 6210 Sep 23 2011 [1299]case29.html.~1~
- -rw-r--r-- 1 fdc kermit 16257 Mar 27 2002 [1300]castle.gif
- -rw-r--r-- 1 fdc kermit 3894 Mar 27 2002 [1301]castlesm.gif
- -rw-r--r-- 1 fdc kermit 1847 Sep 23 2011 [1302]catalog.html
- -rw-r--r-- 1 fdc kermit 379 Nov 9 2001 [1303]ccfoo.html
- -rw-r--r-- 1 fdc kermit 16186 Mar 22 1995 [1304]cd4.gif
- -rw-r--r-- 1 fdc kermit 73 Mar 22 1995 [1305]cd4.html
- -rw-r--r-- 1 fdc kermit 6401 Mar 22 1995 [1306]cd4x.gif
- -rw-r--r-- 1 fdc kermit 302 Jul 8 2011 [1307]change
- -rw-r--r-- 1 fdc kermit 19759 Aug 25 2019 [1308]change.html
- -rw-r--r-- 1 fdc kermit 9727 Jan 29 2016 [1309]change.html.~1~
- -rw-r--r-- 1 fdc kermit 16035 Jan 30 2016 [1310]change.html.~2~
- -rw-r--r-- 1 fdc kermit 18427 Feb 1 2016 [1311]change.html.~4~
- -rw-r--r-- 1 fdc kermit 19953 Feb 2 2016 [1312]change.html.~5~
- -rw-r--r-- 1 fdc kermit 4644 Sep 23 2011 [1313]charsets.html
- -rw-r--r-- 1 fdc kermit 35508 Apr 21 2019 [1314]chbw-strip1-100
- .jpg
- -rw-r--r-- 1 fdc kermit 120234 Oct 9 2019 [1315]chm-joe-doupnik
- .pdf
- -rw-r--r-- 1 fdc kermit 284755 Jun 13 2019 [1316]chm-oral-histor
- y.pdf
- -rw-r--r-- 1 fdc kermit 111 Mar 22 2002 [1317]cis_tiny.gif
- -rw-r--r-- 1 fdc kermit 34025 Sep 2 1995 [1318]city3.gif
- -rw-r--r-- 1 fdc kermit 40749 Aug 25 2019 [1319]ck300.html
- -rw-r--r-- 1 fdc kermit 40626 Sep 25 2014 [1320]ck60-save.html
- -rw-r--r-- 1 fdc kermit 136716 Sep 25 2014 [1321]ck60.html
- -rw-r--r-- 1 fdc kermit 1662 Sep 23 2011 [1322]ck60ftpic.html
- -rw-r--r-- 1 fdc kermit 10021 Aug 25 2019 [1323]ck60manual.html
- -rw-r--r-- 1 fdc kermit 7318 Sep 23 2011 [1324]ck60specs.html
- -rw-r--r-- 1 fdc kermit 3630 Sep 25 2014 [1325]ck60src.html
- -rw-r--r-- 1 fdc kermit 4981 Sep 25 2014 [1326]ck60text.html
- -rw-r--r-- 1 fdc kermit 5857 Sep 23 2011 [1327]ck60unixes.html
- -rw-r--r-- 1 fdc kermit 9302 Sep 25 2014 [1328]ck60vbin.html
- -rw-r--r-- 1 fdc kermit 136716 Sep 25 2014 [1329]ck61.html
- -rw-r--r-- 1 fdc kermit 99596 Sep 25 2014 [1330]ck70-final.html
- -rw-r--r-- 1 fdc kermit 7257 Jan 20 1999 [1331]ck70.gif
- -rw-r--r-- 1 fdc kermit 136648 Apr 1 2017 [1332]ck70.html
- -rw-r--r-- 1 fdc kermit 136716 Sep 25 2014 [1333]ck70.html.~1~
- -rw-r--r-- 1 fdc kermit 74980 Sep 25 2014 [1334]ck70b07.html
- -rw-r--r-- 1 fdc kermit 85703 Sep 25 2014 [1335]ck70b10.html
- -rw-r--r-- 1 fdc kermit 18940 Sep 25 2014 [1336]ck70bugs.html
- -rw-r--r-- 1 fdc kermit 156464 Sep 18 2013 [1337]ck70cd-r.jpg
- -rw-r--r-- 1 fdc kermit 15612 Sep 18 2013 [1338]ck70cd-t.jpg
- -rw-r--r-- 1 fdc kermit 1299 Sep 18 2013 [1339]ck70cd.html
- -rw-r--r-- 1 fdc kermit 89737 Apr 7 2000 [1340]ck70cd.jpg
- -rw-r--r-- 1 fdc kermit 3041 Sep 23 2011 [1341]ck70cdorder.htm
- l
- -rw-r--r-- 1 fdc kermit 3691 Sep 25 2014 [1342]ck70news.html
- -rw-r--r-- 1 fdc kermit 11498 Apr 15 2000 [1343]ck70sm.jpg
- -rw-r--r-- 1 fdc kermit 8371 Sep 23 2011 [1344]ck70specs.html
- -rw-r--r-- 1 fdc kermit 29742 Sep 25 2014 [1345]ck71a04.html
- -rw-r--r-- 1 fdc kermit 4973 Sep 27 2011 [1346]ck80208ann.html
- -rw-r--r-- 1 fdc kermit 7235 Sep 27 2011 [1347]ck80ann.html
- -rw-r--r-- 1 fdc kermit 8218 Sep 25 2014 [1348]ck80b04.html
- -rw-r--r-- 1 fdc kermit 19126 Sep 25 2014 [1349]ck80bugs.html
- -rw-r--r-- 1 fdc kermit 192666 Dec 31 2002 [1350]ck80cd-450.jpg
- -rw-r--r-- 1 fdc kermit 3212 Sep 23 2011 [1351]ck80cd.html
- -rw-r--r-- 1 fdc kermit 11942 Sep 23 2011 [1352]ck80specs.html
- -rw-r--r-- 1 fdc kermit 42797 Aug 7 14:27 [1353]ck90.html
- -rw-r--r-- 1 fdc kermit 42730 Jul 20 15:07 [1354]ck90.html.~19~
- -rw-r--r-- 1 fdc kermit 40663 Oct 20 2013 [1355]ck90.html.~1~
- -rw-r--r-- 1 fdc kermit 42732 Jul 27 12:16 [1356]ck90.html.~20~
- -rw-r--r-- 1 fdc kermit 40585 Feb 28 2014 [1357]ck90.html.~2~
- -rw-r--r-- 1 fdc kermit 35324 Aug 25 2019 [1358]ck90a02.html
- -rw-r--r-- 1 fdc kermit 26412 Aug 25 2019 [1359]ck90a02tables.h
- tml
- -rw-r--r-- 1 fdc kermit 42285 Aug 25 2019 [1360]ck90a03.html
- -rw-r--r-- 1 fdc kermit 23460 Aug 25 2019 [1361]ck90a03tables.h
- tml
- -rw-r--r-- 1 fdc kermit 79228 Aug 25 2019 [1362]ck90notes.html
- -rw-r--r-- 1 fdc kermit 50482 Aug 25 2019 [1363]ck90save.html
- -rw-r--r-- 1 fdc kermit 16333 Apr 9 2013 [1364]ck90specs.html
- -rw-r--r-- 1 fdc kermit 44601 Jul 27 15:44 [1365]ck90tables.html
- -rw-r--r-- 1 fdc kermit 43192 Sep 25 2014 [1366]ck90tables.html
- .~1~
- -rw-r--r-- 1 fdc kermit 43300 Dec 23 2015 [1367]ck90tables.html
- .~2~
- -rw-r--r-- 1 fdc kermit 44208 Dec 23 2015 [1368]ck90tables.html
- .~4~
- -rw-r--r-- 1 fdc kermit 44599 Aug 25 2019 [1369]ck90tables.html
- .~5~
- -rw-r--r-- 1 fdc kermit 87959 Aug 25 2019 [1370]ck90updates.htm
- l
- -rw-r--r-- 1 fdc kermit 1241 Jul 11 2011 [1371]ck_64bit.html
- -rw-r--r-- 1 fdc kermit 5022 Nov 30 1996 [1372]ck_i.gif
- -rw-r--r-- 1 fdc kermit 3397 Mar 11 2011 [1373]ckb-100.jpg
- -rw-r--r-- 1 fdc kermit 6797 Mar 11 2011 [1374]ckb-150.jpg
- -rw-r--r-- 1 fdc kermit 16046 Aug 28 2007 [1375]ckb-180.jpg
- -rw-r--r-- 1 fdc kermit 18518 Aug 28 2007 [1376]ckb-200.jpg
- -rw-r--r-- 1 fdc kermit 67338 Jan 8 2011 [1377]ckb-280.jpg
- -rw-r--r-- 1 fdc kermit 166234 Jan 8 2011 [1378]ckb-600.jpg
- -rw-r--r-- 1 fdc kermit 2361 Mar 10 2011 [1379]ckb-80.jpg
- -rw-r--r-- 1 fdc kermit 265624 Sep 18 2013 [1380]ckb-r.jpg
- -rw-r--r-- 1 fdc kermit 16441 Sep 18 2013 [1381]ckb-t.jpg
- -rw-r--r-- 1 fdc kermit 1298 Sep 18 2013 [1382]ckb.html
- -rw-r--r-- 1 fdc kermit 828790 Jan 8 2011 [1383]ckb.jpg
- -rw-r--r-- 1 fdc kermit 4102 Mar 11 2011 [1384]ckb1e-150.jpg
- -rw-r--r-- 1 fdc kermit 11415 Mar 11 2011 [1385]ckb1e-280.jpg
- -rw-r--r-- 1 fdc kermit 33276 Mar 11 2011 [1386]ckb1e-600.jpg
- -rw-r--r-- 1 fdc kermit 46385 Nov 30 1996 [1387]ckb2.gif
- lrwxrwxrwx 1 fdc kermit 17 Sep 27 2011 [1388]ckb2.html -> us
- ingckermit.html
- -rw-r--r-- 1 fdc kermit 46385 Nov 30 1996 [1389]ckb2en_i.gif
- -rw-r--r-- 1 fdc kermit 2919 Mar 11 2011 [1390]ckbde-100.jpg
- -rw-r--r-- 1 fdc kermit 5432 Mar 11 2011 [1391]ckbde-150.jpg
- -rw-r--r-- 1 fdc kermit 14959 Mar 11 2011 [1392]ckbde-280.jpg
- -rw-r--r-- 1 fdc kermit 52396 Mar 11 2011 [1393]ckbde-600.jpg
- -rw-r--r-- 1 fdc kermit 25480 Jan 25 1995 [1394]ckbde_i.gif
- -rw-r--r-- 1 fdc kermit 15891 Dec 6 1994 [1395]ckbde_i.gif.cu
- -rw-r--r-- 1 fdc kermit 13319 Dec 6 1994 [1396]ckben_i.gif
- -rw-r--r-- 1 fdc kermit 139466 Jun 24 2015 [1397]ckbinaries.html
- -rw-r--r-- 1 fdc kermit 138477 Sep 25 2014 [1398]ckbinaries.html
- .~1~
- -rw-r--r-- 1 fdc kermit 138921 Sep 25 2014 [1399]ckbinaries.html
- .~2~
- -rw-r--r-- 1 fdc kermit 139442 Dec 26 2014 [1400]ckbinaries.html
- .~3~
- -rw-r--r-- 1 fdc kermit 139461 May 29 2015 [1401]ckbinaries.html
- .~4~
- lrwxrwx--- 1 fdc kermit 13 Jul 29 2019 [1402]ckbindex.html -
- > uckindex.html
- -rw-r--r-- 1 fdc kermit 5441 Sep 23 2011 [1403]ckborder.html
- -rw-r--r-- 1 fdc kermit 4568 Sep 23 2011 [1404]ckbreviews.html
- -rw-r--r-- 1 fdc kermit 1254 Sep 27 2004 [1405]ckbupdates.html
- -rw-r--r-- 1 fdc kermit 5897 Jan 15 1999 [1406]ckbw.gif
- -rw-r--r-- 1 fdc kermit 7830 Sep 23 2011 [1407]ckc206.html
- -rw-r--r-- 1 fdc kermit 4499 Sep 23 2011 [1408]ckc208.html
- -rw-r--r-- 1 fdc kermit 2405 Sep 25 2014 [1409]ckc209.html
- -rw-r--r-- 1 fdc kermit 10752 Sep 25 2014 [1410]ckc211.html
- -rw-r--r-- 1 fdc kermit 8824 Jul 11 2011 [1411]ckc212-dev28.ht
- ml
- -rw-r--r-- 1 fdc kermit 11736 Sep 25 2014 [1412]ckc212.html
- -rw-r--r-- 1 fdc kermit 6824 Feb 8 2006 [1413]ckc212.sav
- -rw-r--r-- 1 fdc kermit 40881 Aug 25 2019 [1414]ckc300.html
- -rw-r--r-- 1 fdc kermit 40881 Aug 25 2019 [1415]ckc301.html
- -rw-r--r-- 1 fdc kermit 40881 Aug 25 2019 [1416]ckc302.html
- -rw-r--r-- 1 fdc kermit 75819 Jul 30 2019 [1417]ckcbwr.html
- -rw-r--r-- 1 fdc kermit 75754 Apr 12 2013 [1418]ckcbwr.html.~1~
- -rw-r--r-- 1 fdc kermit 84811 Sep 28 2011 [1419]ckccfg.html
- -rw-r--r-- 1 fdc kermit 2884 Sep 25 2014 [1420]ckcdinfo.html
- -rw-r--r-- 1 fdc kermit 81080 Nov 30 1996 [1421]ckcker.txt
- -rw-r--r-- 1 fdc kermit 143140 Aug 25 2019 [1422]ckcplm.html
- -rw-r--r-- 1 fdc kermit 143224 Sep 27 2011 [1423]ckcplm.html.~1~
- -rw-r--r-- 1 fdc kermit 4845 Jan 7 2001 [1424]ckcsets.html
- -rw-r--r-- 1 fdc kermit 68089 Sep 16 13:55 [1425]ckdaily.html
- -rw-r--r-- 1 fdc kermit 54863 Sep 3 2013 [1426]ckdaily.html.~1
- ~
- -rw-r--r-- 1 fdc kermit 55307 Nov 24 2013 [1427]ckdaily.html.~2
- ~
- -rw-r--r-- 1 fdc kermit 68149 Jul 30 09:14 [1428]ckdaily.html.~3
- 3~
- -rw-r--r-- 1 fdc kermit 68068 Aug 2 12:35 [1429]ckdaily.html.~3
- 4~
- -rw-r--r-- 1 fdc kermit 766596 Aug 25 2019 [1430]ckermi7.html
- lrwxrwx--- 1 fdc kermit 14 Feb 25 2018 [1431]ckermi8.html ->
- ckermit80.html
- -rw-rw---- 1 fdc kermit 472023 Aug 25 2019 [1432]ckermi8.html__n
- ew
- lrwxrwx--- 1 fdc kermit 14 Feb 25 2018 [1433]ckermi80.html -
- > ckermit80.html
- -rw-r--r-- 1 fdc kermit 136361 Sep 25 2014 [1434]ckermit-np.html
- -rw-r--r-- 1 fdc kermit 4018 Dec 6 1994 [1435]ckermit.gif
- lrwxrwxrwx 1 fdc kermit 9 Jul 12 2011 [1436]ckermit.html ->
- ck90.html
- -rw-r--r-- 1 fdc kermit 100319 Dec 5 2002 [1437]ckermit.jpg
- drwxr-xr-x 2 fdc kermit 24 Mar 12 2013 [1438]ckermit/
- -rw-r--r-- 1 fdc kermit 463522 Sep 25 2014 [1439]ckermit209.html
- -rw-r--r-- 1 fdc kermit 466914 Sep 25 2014 [1440]ckermit211.html
- -rw-r--r-- 1 fdc kermit 9275 Apr 25 12:00 [1441]ckermit40.html
- -rw-r--r-- 1 fdc kermit 9753 Feb 3 2016 [1442]ckermit40.html.
- ~1~
- -rw-r--r-- 1 fdc kermit 7983 Apr 23 16:42 [1443]ckermit40.html.
- ~2~
- -rw-r--r-- 1 fdc kermit 7981 Apr 24 13:43 [1444]ckermit40.html.
- ~3~
- -rw-r--r-- 1 fdc kermit 9753 Feb 3 2016 [1445]ckermit42.html
- -rw-r--r-- 1 fdc kermit 4961 Jan 28 2016 [1446]ckermit42.html.
- ~1~
- -rw-r--r-- 1 fdc kermit 9747 Jan 28 2016 [1447]ckermit42.html.
- ~2~
- -rw-r--r-- 1 fdc kermit 9727 Jan 29 2016 [1448]ckermit42.html.
- ~3~
- -rw-r--r-- 1 fdc kermit 766616 Apr 25 20:26 [1449]ckermit70.html
- -rw-r--r-- 1 fdc kermit 763974 Sep 25 2014 [1450]ckermit70.html.
- ~1~
- -rw-r--r-- 1 fdc kermit 764015 Jan 30 2016 [1451]ckermit70.html.
- ~2~
- -rw-r--r-- 1 fdc kermit 767451 Aug 2 2019 [1452]ckermit70.html.
- ~6~
- -rw-r--r-- 1 fdc kermit 766596 Aug 25 2019 [1453]ckermit70.html.
- ~7~
- -rw-r--r-- 1 fdc kermit 142228 Apr 2 2002 [1454]ckermit8.pdf
- -rw-r--r-- 1 fdc kermit 472207 Aug 25 2019 [1455]ckermit80.html
- -rw-r--r-- 1 fdc kermit 472162 Sep 27 2011 [1456]ckermit80.html.
- ~1~
- -rw-r--r-- 1 fdc kermit 472302 Jan 20 2014 [1457]ckermit80.html.
- ~2~
- -rw-r--r-- 1 fdc kermit 472355 Apr 26 2016 [1458]ckermit80.html.
- ~4~
- -rw-r--r-- 1 fdc kermit 472343 Jul 29 2019 [1459]ckermit80.html.
- ~5~
- -rw-r--r-- 1 fdc kermit 123706 Jul 29 11:15 [1460]ckermit90.html
- -rw-r--r-- 1 fdc kermit 123496 Aug 3 2019 [1461]ckermit90.html.
- ~13~
- -rw-r--r-- 1 fdc kermit 123452 Aug 25 2019 [1462]ckermit90.html.
- ~14~
- -rw-r--r-- 1 fdc kermit 116351 Sep 25 2014 [1463]ckermit90.html.
- ~1~
- -rw-r--r-- 1 fdc kermit 116355 Oct 16 2015 [1464]ckermit90.html.
- ~2~
- -rw-r--r-- 1 fdc kermit 45536 Aug 7 15:07 [1465]ckfaq.html
- -rw-r--r-- 1 fdc kermit 42591 Apr 12 2013 [1466]ckfaq.html.~1~
- -rw-r--r-- 1 fdc kermit 44743 Sep 27 2015 [1467]ckfaq.html.~2~
- -rw-r--r-- 1 fdc kermit 44766 Oct 3 2015 [1468]ckfaq.html.~3~
- -rw-rw-r-- 1 fdc kermit 24918 Feb 18 2020 [1469]ckfunctions.htm
- l
- -rw-r--r-- 1 fdc kermit 4646 Jul 29 2019 [1470]ckfunctions.htm
- l.~1~
- -rw-rw-r-- 1 fdc kermit 17247 Jul 30 2019 [1471]ckfunctions.htm
- l.~2~
- -rw-rw-r-- 1 fdc kermit 24877 Jan 26 2020 [1472]ckfunctions.htm
- l.~8~
- -rw-rw-r-- 1 fdc kermit 24887 Jan 27 2020 [1473]ckfunctions.htm
- l.~9~
- -rw-r--r-- 1 fdc kermit 1918 Jul 24 14:51 [1474]ckglibc228.diff
- -rw-r--r-- 1 fdc kermit 7584 Aug 25 2019 [1475]cklicense.html
- -rw-r--r-- 1 fdc kermit 18695 Jul 27 2019 [1476]ckmanual-cz.htm
- l
- -rw-r--r-- 1 fdc kermit 18471 Jan 13 2014 [1477]ckmanual-cz.htm
- l.~1~
- lrwxrwxrwx 1 fdc kermit 17 Sep 27 2011 [1478]ckmanual.html -
- > usingckermit.html
- -rw-r--r-- 1 fdc kermit 55321 Jul 10 2017 [1479]ckmker.pdf
- -rw-r--r-- 1 fdc kermit 92609 Aug 16 1994 [1480]ckmker.ps
- -rw-r--r-- 1 fdc kermit 50840 May 26 1988 [1481]ckmkerdoc.txt
- -rw-r--r-- 1 fdc kermit 458864 Apr 22 2017 [1482]cknotes.html
- -rw-r--r-- 1 fdc kermit 16554 Sep 25 2014 [1483]cko191.html
- -rw-r--r-- 1 fdc kermit 16667 Sep 28 2011 [1484]ckpackages.html
- -rw-r--r-- 1 fdc kermit 20509 Aug 19 2019 [1485]ckrename.html
- -rw-r--r-- 1 fdc kermit 20466 Sep 27 2011 [1486]ckrename.html.~
- 1~
- -rw-r--r-- 1 fdc kermit 18756 Sep 27 2011 [1487]ckreviews.html
- -rw-r--r-- 1 fdc kermit 75166 Apr 26 16:05 [1488]ckscripts.html
- -rw-r--r-- 1 fdc kermit 63930 Oct 4 2013 [1489]ckscripts.html.
- ~1~
- -rw-r--r-- 1 fdc kermit 73631 Feb 15 2020 [1490]ckscripts.html.
- ~21~
- -rw-r--r-- 1 fdc kermit 75124 Feb 28 2020 [1491]ckscripts.html.
- ~22~
- -rw-r--r-- 1 fdc kermit 65706 Jan 12 2014 [1492]ckscripts.html.
- ~2~
- -rw-r--r-- 1 fdc kermit 14098 Sep 25 2014 [1493]cksendbin.html
- -rw-r--r-- 1 fdc kermit 4620 Sep 6 19:45 [1494]cksettransmit.h
- tml
- -rw-r--r-- 1 fdc kermit 1448 Aug 25 2019 [1495]cksorder.html
- -rw-r--r-- 1 fdc kermit 11944 Sep 23 2011 [1496]ckspecs.html
- -rw-r--r-- 1 fdc kermit 2015183 Jan 11 2015 [1497]cku301.qnx32-4.
- 25
- -rw-r--r-- 1 fdc kermit 249561 Aug 25 2019 [1498]ckubwr.html
- -rw-r--r-- 1 fdc kermit 245397 Sep 27 2011 [1499]ckubwr.html.~1~
- -rw-r--r-- 1 fdc kermit 245337 Apr 3 2016 [1500]ckubwr.html.~2~
- -rw-r--r-- 1 fdc kermit 245340 Apr 3 2016 [1501]ckubwr.html.~3~
- -rw-r--r-- 1 fdc kermit 245501 Feb 1 2018 [1502]ckubwr.html.~4~
- -rw-r--r-- 1 fdc kermit 174964 Sep 28 2011 [1503]ckuins.html
- -rw-r--r-- 1 fdc kermit 122910 Nov 6 2001 [1504]ckuins.html.unt
- rimmed
- -rw-r--r-- 1 fdc kermit 172583 Aug 15 2011 [1505]ckuins.txt
- -rw-r--r-- 1 fdc kermit 488853 Sep 6 2017 [1506]ckupdates-90304
- -dev22.html
- -rw-r--r-- 1 fdc kermit 488253 Jul 24 15:08 [1507]ckupdates-90305
- -alpha1.html
- -rw-r--r-- 1 fdc kermit 497157 Sep 19 18:47 [1508]ckupdates.html
- -rw-r--r-- 1 fdc kermit 491723 Aug 2 13:23 [1509]ckupdates.html.
- a1
- -rw-rw-r-- 1 fdc kermit 486730 Jan 31 2020 [1510]ckupdates.html.
- ~1~
- -rw-r--r-- 1 fdc kermit 487931 May 7 09:13 [1511]ckupdates.html.
- ~2~
- -rw-r--r-- 1 fdc kermit 491730 Jul 30 08:01 [1512]ckupdates.html.
- ~8~
- -rw-r--r-- 1 fdc kermit 496964 Sep 19 18:30 [1513]ckupdates.html.
- ~9~
- -rw-r--r-- 1 fdc kermit 101836 Aug 25 2019 [1514]ckututor.html
- -rw-r--r-- 1 fdc kermit 101621 May 23 2013 [1515]ckututor.html.~
- 1~
- -rw-r--r-- 1 fdc kermit 626495 Jun 28 2011 [1516]ckututor.pdf
- -rw-r--r-- 1 fdc kermit 100285 Nov 22 2001 [1517]ckututor80.pdf
- -rw-rw-r-- 1 fdc kermit 27316 Aug 17 2019 [1518]ckvariables.htm
- l
- -rw-rw-r-- 1 fdc kermit 13446 Jul 31 2019 [1519]ckvariables.htm
- l.~1~
- -rw-rw-r-- 1 fdc kermit 22627 Jul 31 2019 [1520]ckvariables.htm
- l.~2~
- -rw-rw-r-- 1 fdc kermit 27191 Aug 1 2019 [1521]ckvariables.htm
- l.~4~
- -rw-rw-r-- 1 fdc kermit 27316 Aug 2 2019 [1522]ckvariables.htm
- l.~5~
- -rw-r--r-- 1 fdc kermit 65808 Sep 27 2011 [1523]ckvbwr.html
- -rw-r--r-- 1 fdc kermit 83676 Sep 7 15:20 [1524]ckvins.html
- -rw-r--r-- 1 fdc kermit 77952 Sep 27 2011 [1525]ckvins.html.~1~
- -rw-r--r-- 1 fdc kermit 83470 Sep 6 20:18 [1526]ckvins.html.~2~
- -rw-r--r-- 1 fdc kermit 5377 Nov 24 2013 [1527]ckwindows.html
- -rw-r--r-- 1 fdc kermit 2999 Nov 24 2013 [1528]ckwindows.html.
- ~1~
- -rw-r--r-- 1 fdc kermit 3128 Sep 23 2011 [1529]claims.html
- -rw-r--r-- 1 fdc kermit 1234 Sep 23 2011 [1530]client.html
- -rw-r--r-- 1 fdc kermit 10356 Feb 7 1996 [1531]clubwin.gif
- -rw-r--r-- 1 fdc kermit 38872 Jun 2 2002 [1532]colors.gif
- -rw-r--r-- 1 fdc kermit 8336 Jun 2 2002 [1533]colorssm.gif
- -rw-r--r-- 1 fdc kermit 8776 Sep 23 2011 [1534]commercial.html
- -rw-r--r-- 1 fdc kermit 774 Sep 14 15:23 [1535]common.js
- -rw-r--r-- 1 fdc kermit 294 May 11 2019 [1536]common.js.1
- -rw-r--r-- 1 fdc kermit 110 Jan 4 2014 [1537]common.js.~1~
- -rw-r--r-- 1 fdc kermit 110 Jan 11 2014 [1538]common.js.~2~
- -rw-r--r-- 1 fdc kermit 294 May 11 2019 [1539]common.js.~40~
- -rw-r--r-- 1 fdc kermit 774 May 27 2019 [1540]common.js.~41~
- -rw-r--r-- 1 fdc kermit 6322 Nov 10 2013 [1541]compact-substri
- ng-notation.html
- -rw-r--r-- 1 fdc kermit 4176 Nov 10 2013 [1542]compact-substri
- ng-notation.html.~1~
- -rw-r--r-- 1 fdc kermit 11729 Aug 5 1998 [1543]coney.gif
- -rw-r--r-- 1 fdc kermit 4864 Aug 10 1999 [1544]coney4.gif
- -rw-r--r-- 1 fdc kermit 13527 Aug 10 1999 [1545]coney4.jpg
- -rw-r--r-- 1 fdc kermit 13534 Aug 10 1999 [1546]coney5.jpg
- -rw-r--r-- 1 fdc kermit 13522 Aug 10 1999 [1547]coney6.jpg
- -rw-r--r-- 1 fdc kermit 21268 Nov 28 2006 [1548]connectors-340.
- jpg
- -rw-r--r-- 1 fdc kermit 54247 Nov 28 2006 [1549]connectors-680.
- jpg
- -rw-r--r-- 1 fdc kermit 75965 Sep 18 2013 [1550]connectors-r.jp
- g
- -rw-r--r-- 1 fdc kermit 13108 Sep 18 2013 [1551]connectors-t.jp
- g
- -rw-r--r-- 1 fdc kermit 1312 Sep 18 2013 [1552]connectors.html
- lrwxrwxrwx 1 fdc kermit 18 Sep 18 2013 [1553]connectors.jpg
- -> connectors-680.jpg
- -rw-r--r-- 1 fdc kermit 2175 Jun 29 1998 [1554]cool.gif
- -rw-r--r-- 1 fdc kermit 34138 Jul 5 2002 [1555]courier.gif
- -rw-r--r-- 1 fdc kermit 7489 Mar 4 2003 [1556]cp1250.html
- -rw-r--r-- 1 fdc kermit 7348 Mar 4 2003 [1557]cp1251.html
- -rw-r--r-- 1 fdc kermit 7303 Mar 4 2003 [1558]cp1252.html
- -rw-r--r-- 1 fdc kermit 7237 Aug 24 2004 [1559]cp1254.html
- -rw-r--r-- 1 fdc kermit 6560 Mar 4 2003 [1560]cp437.html
- -rw-r--r-- 1 fdc kermit 5994 Mar 4 2003 [1561]cp850.html
- -rw-r--r-- 1 fdc kermit 5905 Mar 4 2003 [1562]cp852.html
- -rw-r--r-- 1 fdc kermit 6300 Mar 4 2003 [1563]cp856.html
- -rw-r--r-- 1 fdc kermit 6545 Mar 4 2003 [1564]cp861.html
- -rw-r--r-- 1 fdc kermit 6799 Mar 4 2003 [1565]cp862.html
- -rw-r--r-- 1 fdc kermit 6579 Mar 4 2003 [1566]cp866.html
- -rw-r--r-- 1 fdc kermit 5822 Oct 2 1991 [1567]cp866.txt
- -rw-r--r-- 1 fdc kermit 7578 Sep 25 2014 [1568]cpm.html
- lrwxrwxrwx 1 fdc kermit 12 Sep 28 2011 [1569]crown70.gif ->
- xcrown70.gif
- lrwxrwxrwx 1 fdc kermit 15 Sep 28 2011 [1570]crown74-lb.gif
- -> xcrown74-lb.gif
- lrwxrwxrwx 1 fdc kermit 16 Sep 28 2011 [1571]crownico-lb.gif
- -> xcrownico-lb.gif
- lrwxrwxrwx 1 fdc kermit 13 Sep 28 2011 [1572]crownico.gif ->
- xcrownico.gif
- -rw-r--r-- 1 fdc kermit 16772 Aug 25 2019 [1573]csetnames.html
- -rw-r--r-- 1 fdc kermit 15244 Apr 2 2010 [1574]csetnames.html.
- untrimmed
- -rw-r--r-- 1 fdc kermit 16148 Mar 25 2002 [1575]csets1.gif
- -rw-r--r-- 1 fdc kermit 16200 Mar 25 2002 [1576]csets2.gif
- -rw-r--r-- 1 fdc kermit 15401 Mar 25 2002 [1577]csets3.gif
- -rw-r--r-- 1 fdc kermit 10574 Apr 22 2017 [1578]csettables.html
- -rw-r--r-- 1 fdc kermit 10595 Sep 27 2011 [1579]csettables.html
- .~1~
- -rw-r--r-- 1 fdc kermit 10582 Sep 25 2014 [1580]csettables.html
- .~2~
- -rw-r--r-- 1 fdc kermit 28493 Aug 25 2019 [1581]csv.html
- -rw-r--r-- 1 fdc kermit 25232 Sep 27 2011 [1582]csv.html.~1~
- -rw-r--r-- 1 fdc kermit 26525 Jan 31 2014 [1583]csv.html.~2~
- -rw-r--r-- 1 fdc kermit 28477 Mar 23 2017 [1584]csv.html.~3~
- -rw-r--r-- 1 fdc kermit 28507 Sep 5 2017 [1585]csv.html.~4~
- -rw-r--r-- 1 fdc kermit 13679 Mar 10 2011 [1586]ctv.jpg
- -rw-r--r-- 1 fdc kermit 2073 Mar 30 2011 [1587]cu-bsd-license.
- html
- -rw-r--r-- 1 fdc kermit 116782 Nov 20 2003 [1588]cu-home-kermit.
- jpg
- -rw-r--r-- 1 fdc kermit 6139 Aug 19 2011 [1589]cu.htaccess
- -rw-r--r-- 1 fdc kermit 55619 Sep 7 2004 [1590]cu_home_subway_
- crown.jpg
- -rw-r--r-- 1 fdc kermit 3270 Oct 20 2005 [1591]cu_logo.gif
- drwxr-xr-x 2 fdc kermit 28 Sep 23 2013 [1592]cudocs/
- -rw-r--r-- 1 fdc kermit 21571 Sep 25 2014 [1593]cuiksd.html
- -rw-r--r-- 1 fdc kermit 1847 Feb 18 2010 [1594]cunix.jpg
- -rw-r--r-- 1 fdc kermit 8206 Mar 13 2018 [1595]current.html
- -rw-r--r-- 1 fdc kermit 7991 Sep 4 2013 [1596]current.html.~1
- ~
- -rw-r--r-- 1 fdc kermit 7991 Nov 10 2013 [1597]current.html.~2
- ~
- -rw-r--r-- 1 fdc kermit 59024 Sep 15 2016 [1598]cuutf8.html
- -rw-r--r-- 1 fdc kermit 59060 Mar 10 2016 [1599]cuutf8.html.~1~
- -rw-r--r-- 1 fdc kermit 1922 Mar 20 1996 [1600]cwsa.gif
- -rw-r--r-- 1 fdc kermit 4652 Mar 4 2003 [1601]cyrillic.html
- -rw-rw---- 1 fdc kermit 2542 Sep 9 2018 [1602]d
- -rw-r--r-- 1 fdc kermit 21850 Feb 10 2016 [1603]dcbook-99.jpg
- -rw-r--r-- 1 fdc kermit 28876 Feb 10 2016 [1604]dcbook.jpg
- drwxr-xr-x 2 fdc kermit 13 Mar 23 2017 [1605]debian/
- -rw-r--r-- 1 fdc kermit 31621 Mar 27 2002 [1606]debug.gif
- -rw-rw---- 1 fdc kermit 84427 Jul 31 2019 [1607]debug.log
- -rw-r--r-- 1 fdc kermit 7442 Mar 27 2002 [1608]debug_sm.gif
- -rw-r--r-- 1 fdc kermit 7549 Oct 11 2003 [1609]dec-mcs.html
- -rw-r--r-- 1 fdc kermit 118749 Feb 9 2019 [1610]dec20-content.h
- tml
- -rw-r--r-- 1 fdc kermit 110509 Jan 31 2019 [1611]dec20.html
- -rw-r--r-- 1 fdc kermit 108475 Sep 25 2014 [1612]dec20.html.~1~
- -rw-r--r-- 1 fdc kermit 109034 Mar 23 2017 [1613]dec20.html.~2~
- -rw-r--r-- 1 fdc kermit 110509 Jan 31 2019 [1614]dec20.html.~3~
- drwxr-xr-x 2 fdc kermit 7 Jan 31 2019 [1615]dec20/
- -rw-r--r-- 1 fdc kermit 29837 Dec 4 2001 [1616]dec20_3.jpg
- -rw-r--r-- 1 fdc kermit 46471 Mar 15 2011 [1617]dec20_3a.jpg
- -rw-r--r-- 1 fdc kermit 91012 Sep 25 2014 [1618]dec20x.html
- -rw-r--r-- 1 fdc kermit 11499 Feb 11 2001 [1619]dec20z.jpg
- -rw-r--r-- 1 fdc kermit 31392 Apr 1 2002 [1620]decibm2.jpg
- -rw-r--r-- 1 fdc kermit 117710 Mar 19 2003 [1621]decmate-1.jpg
- -rw-r--r-- 1 fdc kermit 4613 Mar 19 2003 [1622]decmate.jpg
- drwxr-xr-x 2 fdc kermit 291 Jul 3 2019 [1623]demo/
- drwxr-xr-x 2 fdc kermit 293 Sep 15 15:20 [1624]demo2/
- drwxr-xr-x 2 fdc kermit 2 Sep 6 2017 [1625]desktop/
- -rw-r--r-- 1 fdc kermit 4869 Mar 25 2002 [1626]dg2_05.jpg
- -rw-r--r-- 1 fdc kermit 50940 Mar 25 2002 [1627]dg3.jpg
- -rw-r--r-- 1 fdc kermit 11720 Dec 6 1994 [1628]dg470.gif
- -rw-r--r-- 1 fdc kermit 4071 Mar 25 2002 [1629]dg_05.jpg
- -rw-r--r-- 1 fdc kermit 2968 Jun 5 2015 [1630]diagram-100.jpg
- -rw-r--r-- 1 fdc kermit 7615 Jun 5 2015 [1631]diagram-200.jpg
- -rw-r--r-- 1 fdc kermit 1540 Jun 17 2017 [1632]diagram.html
- -rw-r--r-- 1 fdc kermit 1456 Jun 5 2015 [1633]diagram.html.~1
- ~
- -rw-r--r-- 1 fdc kermit 1518 Jun 5 2015 [1634]diagram.html.~2
- ~
- -rw-r--r-- 1 fdc kermit 67522 Jun 5 2015 [1635]diagram.jpg
- -rw-r--r-- 1 fdc kermit 17994 May 31 2002 [1636]dial.jpg
- -rw-r--r-- 1 fdc kermit 4488 May 31 2002 [1637]dial_ico.gif
- -rw-r--r-- 1 fdc kermit 3272 May 31 2002 [1638]dial_sm.jpg
- -rw-r--r-- 1 fdc kermit 1828 Sep 23 2011 [1639]dialscript.html
- -rw-r--r-- 1 fdc kermit 1157 Sep 25 2014 [1640]digest.html
- -rw-r--r-- 1 fdc kermit 742 Sep 23 2011 [1641]directory.html
- -rw-r--r-- 1 fdc kermit 3313 Sep 23 2011 [1642]dll.html
- -rw-r--r-- 1 fdc kermit 2518 Sep 25 2014 [1643]dn.html
- lrwxrwxrwx 1 fdc kermit 12 Sep 27 2011 [1644]documentation.h
- tml -> manuals.html
- -rw-r--r-- 1 fdc kermit 8968 Sep 10 15:41 [1645]donations.html
- -rw-r--r-- 1 fdc kermit 3574 Jul 30 14:22 [1646]donations.html.
- ~1~
- -rw-r--r-- 1 fdc kermit 6213 Jul 30 17:08 [1647]donations.html.
- ~2~
- -rw-r--r-- 1 fdc kermit 8968 Aug 2 09:20 [1648]donations.html.
- ~4~
- -rw-r--r-- 1 fdc kermit 8968 Sep 6 20:18 [1649]donations.html.
- ~5~
- -rw-r--r-- 1 fdc kermit 5711 Apr 10 1996 [1650]dylan95.gif
- -rw-r--r-- 1 fdc kermit 1798 Jun 11 2002 [1651]e-a-sm.jpg
- -rw-r--r-- 1 fdc kermit 1841 Oct 19 2010 [1652]e-academy.html
- -rw-r--r-- 1 fdc kermit 3610 Jun 11 2002 [1653]e-academy.jpg
- -rw-r--r-- 1 fdc kermit 2697 Sep 23 2011 [1654]ear.html
- -rw-r--r-- 1 fdc kermit 2275 Mar 10 2011 [1655]ek-40.jpg
- -rw-r--r-- 1 fdc kermit 6964 Mar 10 2011 [1656]ek-80.jpg
- -rw-r--r-- 1 fdc kermit 2255 Sep 23 2011 [1657]ek-announce.htm
- l
- -rw-r--r-- 1 fdc kermit 19882 Sep 8 2014 [1658]ek-head.jpg
- -rw-r--r-- 1 fdc kermit 20847 Sep 8 2014 [1659]ek-head2.jpg
- -rw-r--r-- 1 fdc kermit 20980 Sep 8 2014 [1660]ek-head3.jpg
- -rw-r--r-- 1 fdc kermit 36877 Jun 4 11:15 [1661]ek.html
- -rw-r--r-- 1 fdc kermit 36113 Mar 27 2019 [1662]ek.html.~10~
- -rw-r--r-- 1 fdc kermit 36488 Apr 9 2019 [1663]ek.html.~11~
- -rw-r--r-- 1 fdc kermit 33436 Oct 28 2013 [1664]ek.html.~1~
- -rw-r--r-- 1 fdc kermit 33799 Sep 8 2014 [1665]ek.html.~2~
- -rw-r--r-- 1 fdc kermit 21340 Mar 10 2011 [1666]ek.jpg
- -rw-r--r-- 1 fdc kermit 4498 Sep 23 2011 [1667]em-apex-1.html
- -rw-r--r-- 1 fdc kermit 23336 Sep 6 2017 [1668]em-apex-160.jpg
- -rw-r--r-- 1 fdc kermit 36801 Sep 21 2004 [1669]em-apex-chute.j
- pg
- -rw-r--r-- 1 fdc kermit 30371 Sep 21 2004 [1670]em-apex-drop.jp
- g
- -rw-r--r-- 1 fdc kermit 11108 Jun 19 15:50 [1671]em-apex.html
- -rw-r--r-- 1 fdc kermit 10185 Mar 19 2013 [1672]em-apex.html.1
- -rw-r--r-- 1 fdc kermit 11313 Jun 19 15:13 [1673]em-apex.html.2
- -rw-r--r-- 1 fdc kermit 10872 Jun 19 12:26 [1674]em-apex.html.~2
- ~
- -rw-r--r-- 1 fdc kermit 23277 Sep 20 2004 [1675]em-apex.jpg
- -rw-r--r-- 1 fdc kermit 10268 Jun 19 12:02 [1676]em-apex2.html
- -rw-r--r-- 1 fdc kermit 3582 Sep 23 2011 [1677]embed.html
- -rw-r--r-- 1 fdc kermit 3313 Sep 23 2011 [1678]embedding.html
- -rw-r--r-- 1 fdc kermit 10169 Jul 1 2000 [1679]euflag1.jpg
- -rw-r--r-- 1 fdc kermit 10607 Jul 1 2000 [1680]euflag2.jpg
- -rw-r--r-- 1 fdc kermit 485 Dec 6 1994 [1681]euro-construct.
- gif
- -rw-r--r-- 1 fdc kermit 83 Dec 30 1998 [1682]euro.gif
- -rw-r--r-- 1 fdc kermit 4803 Sep 23 2011 [1683]euro.html
- -rw-r--r-- 1 fdc kermit 38309 Jul 5 2002 [1684]evermont.gif
- -rw-r--r-- 1 fdc kermit 9233 Sep 18 2013 [1685]example-160.jpg
- -rw-r--r-- 1 fdc kermit 1918 Sep 18 2013 [1686]example.html
- -rw-r--r-- 1 fdc kermit 93737 Sep 18 2013 [1687]example.jpg
- -rw-r--r-- 1 fdc kermit 2550 Sep 24 2010 [1688]export.html
- -rw-r--r-- 1 fdc kermit 1493 Sep 25 2014 [1689]faithful.html
- -rw-r--r-- 1 fdc kermit 3730 Sep 13 2005 [1690]fall.css
- -rw-r--r-- 1 fdc kermit 6520 Aug 17 2013 [1691]fanfest2013-120
- .jpg
- -rw-r--r-- 1 fdc kermit 56167 Aug 17 2013 [1692]fanfest2013-400
- .jpg
- -rw-r--r-- 1 fdc kermit 174180 Aug 17 2013 [1693]fanfest2013.jpg
- -rw-r--r-- 1 fdc kermit 3841 Aug 17 2013 [1694]fanfest2013tail
- -120.jpg
- -rw-r--r-- 1 fdc kermit 4615 Sep 23 2011 [1695]faq-c-arr.html
- -rw-r--r-- 1 fdc kermit 1143 Sep 23 2011 [1696]faq-c-bin.html
- -rw-r--r-- 1 fdc kermit 3031 Sep 23 2011 [1697]faq-c-bix.html
- -rw-r--r-- 1 fdc kermit 7313 Sep 23 2011 [1698]faq-c-bsk.html
- -rw-r--r-- 1 fdc kermit 1599 Sep 23 2011 [1699]faq-c-c34.html
- -rw-r--r-- 1 fdc kermit 2709 Sep 23 2011 [1700]faq-c-dbk.html
- -rw-r--r-- 1 fdc kermit 1461 Sep 25 2014 [1701]faq-c-dir.html
- -rw-r--r-- 1 fdc kermit 3527 Sep 23 2011 [1702]faq-c-dll.html
- -rw-r--r-- 1 fdc kermit 1234 Sep 23 2011 [1703]faq-c-dvo.html
- -rw-r--r-- 1 fdc kermit 3964 Sep 23 2011 [1704]faq-c-ecm.html
- -rw-r--r-- 1 fdc kermit 3327 Sep 23 2011 [1705]faq-c-exit.html
- -rw-r--r-- 1 fdc kermit 3631 Sep 23 2011 [1706]faq-c-ext.html
- -rw-r--r-- 1 fdc kermit 4422 Sep 23 2011 [1707]faq-c-fke.html
- -rw-r--r-- 1 fdc kermit 1863 Sep 23 2011 [1708]faq-c-h48.html
- -rw-r--r-- 1 fdc kermit 2970 Sep 23 2011 [1709]faq-c-hng.html
- -rw-r--r-- 1 fdc kermit 1665 Sep 23 2011 [1710]faq-c-idt.html
- -rw-r--r-- 1 fdc kermit 2816 Sep 23 2011 [1711]faq-c-key.html
- -rw-r--r-- 1 fdc kermit 5888 Sep 23 2011 [1712]faq-c-man.html
- -rw-r--r-- 1 fdc kermit 1676 Sep 23 2011 [1713]faq-c-mfk.html
- -rw-r--r-- 1 fdc kermit 9777 Sep 23 2011 [1714]faq-c-mfx.html
- -rw-r--r-- 1 fdc kermit 4430 Sep 23 2011 [1715]faq-c-nkp.html
- -rw-r--r-- 1 fdc kermit 4518 Sep 25 2014 [1716]faq-c-npg.html
- -rw-r--r-- 1 fdc kermit 1587 Sep 23 2011 [1717]faq-c-pch.html
- -rw-r--r-- 1 fdc kermit 3683 Sep 23 2011 [1718]faq-c-pin.html
- -rw-r--r-- 1 fdc kermit 1446 Sep 23 2011 [1719]faq-c-rdi.html
- -rw-r--r-- 1 fdc kermit 9789 Sep 23 2011 [1720]faq-c-rpi.html
- -rw-r--r-- 1 fdc kermit 1607 Sep 23 2011 [1721]faq-c-ses.html
- -rw-r--r-- 1 fdc kermit 2082 Sep 23 2011 [1722]faq-c-sup.html
- -rw-r--r-- 1 fdc kermit 2679 Sep 23 2011 [1723]faq-c-swx.html
- -rw-r--r-- 1 fdc kermit 1806 Sep 23 2011 [1724]faq-c-sxw.html
- -rw-r--r-- 1 fdc kermit 1480 Sep 23 2011 [1725]faq-c-tdp.html
- -rw-r--r-- 1 fdc kermit 2374 Sep 23 2011 [1726]faq-c-tep.html
- -rw-r--r-- 1 fdc kermit 3205 Sep 23 2011 [1727]faq-c-v34.html
- lrwxrwxrwx 1 fdc kermit 12 Mar 27 2003 [1728]faq-c-ver.html
- -> current.html
- -rw-r--r-- 1 fdc kermit 1840 Sep 23 2011 [1729]faq-c-wds.html
- -rw-r--r-- 1 fdc kermit 5229 Sep 23 2011 [1730]faq-c-wha.html
- -rw-r--r-- 1 fdc kermit 3124 Sep 23 2011 [1731]faq-c-win.html
- -rw-r--r-- 1 fdc kermit 5751 Sep 23 2011 [1732]faq-c-wns.html
- -rw-r--r-- 1 fdc kermit 3152 Sep 25 2014 [1733]faq-c-wpx.html
- -rw-r--r-- 1 fdc kermit 6636 Sep 23 2011 [1734]faq-c-ytt.html
- -rw-r--r-- 1 fdc kermit 9048 Sep 25 2014 [1735]faq-c-zmo.html
- -rw-r--r-- 1 fdc kermit 2361 Sep 25 2014 [1736]faq-x-ver.html
- -rw-r--r-- 1 fdc kermit 18734 Mar 16 2019 [1737]faq.html
- -rw-r--r-- 1 fdc kermit 18489 Sep 28 2011 [1738]faq.html.~1~
- -rw-r--r-- 1 fdc kermit 18730 Feb 8 2018 [1739]faq.html.~2~
- -rw-r--r-- 1 fdc kermit 1148 Jun 3 1995 [1740]fast-left-icon-
- dim.gif
- -rw-r--r-- 1 fdc kermit 1149 Jun 3 1995 [1741]fast-left-icon.
- gif
- -rw-r--r-- 1 fdc kermit 948 Jun 3 1995 [1742]fast-right-icon
- -dim.gif
- -rw-r--r-- 1 fdc kermit 1167 Jun 3 1995 [1743]fast-right-icon
- .gif
- -rw-r--r-- 1 fdc kermit 894 Sep 27 2011 [1744]favicon.ico
- lrwxrwx--- 1 fdc kermit 11 Oct 24 2017 [1745]fdc/
- -rw-r--r-- 1 fdc kermit 18362 Jan 26 1995 [1746]fdcen_i.gif
- -rw-r--r-- 1 fdc kermit 11425 Sep 23 2011 [1747]fdcreviews.html
- -rw-r--r-- 1 fdc kermit 1258 Sep 23 2011 [1748]fees.html
- -rw-r--r-- 1 fdc kermit 46430 Aug 19 2004 [1749]fh1.jpg
- -rw-r--r-- 1 fdc kermit 38151 Aug 19 2004 [1750]fh2.jpg
- -rw-r--r-- 1 fdc kermit 40813 Aug 19 2004 [1751]fh3.jpg
- -rw-r--r-- 1 fdc kermit 2427 Jan 1 2020 [1752]filelist
- -rw-r--r-- 1 fdc kermit 846 Sep 28 2013 [1753]filelist.~1~
- -rw-r--r-- 1 fdc kermit 1860 May 21 2014 [1754]filelist.~2~
- -rw-r--r-- 1 fdc kermit 2374 Jul 31 2019 [1755]filelist.~34~
- -rw-r--r-- 1 fdc kermit 2405 Aug 1 2019 [1756]filelist.~35~
- -rw-r--r-- 1 fdc kermit 5632 Sep 23 2011 [1757]firsthealth.htm
- l
- -rw-r--r-- 1 fdc kermit 8383 Jun 17 2017 [1758]firstxfer.html
- -rw-r--r-- 1 fdc kermit 7911 Jun 17 2017 [1759]firstxfer.html.
- 1
- -rw-r--r-- 1 fdc kermit 3495 Jun 17 2017 [1760]firstxfer.html.
- ~1~
- -rw-r--r-- 1 fdc kermit 68204 Jun 17 2017 [1761]firstxfer9.jpg
- -rw-r--r-- 1 fdc kermit 81 Jan 23 2014 [1762]fix
- -rw-rw---- 1 fdc kermit 234 Sep 9 2018 [1763]fixdirperms.ksc
- -rw-rw---- 1 fdc kermit 186 Sep 9 2018 [1764]fixdirs.ksc.~1~
- -rw-rw---- 1 fdc kermit 233 Sep 9 2018 [1765]fixdirs.ksc.~2~
- -rwxrwx--- 1 fdc kermit 67 Sep 9 2018 [1766]fixdirs.sh
- -rwxrwx--- 1 fdc kermit 52 Sep 9 2018 [1767]fixdirs.sh.~1~
- -rw-r--r-- 1 fdc kermit 1592 Apr 21 2000 [1768]fl_australia.gi
- f
- -rw-r--r-- 1 fdc kermit 972 Apr 21 2000 [1769]fl_austria.gif
- -rw-r--r-- 1 fdc kermit 1032 Apr 21 2000 [1770]fl_belgium.gif
- -rw-r--r-- 1 fdc kermit 1338 Apr 21 2000 [1771]fl_brazil.gif
- -rw-r--r-- 1 fdc kermit 1555 Apr 21 2000 [1772]fl_canada.gif
- -rw-r--r-- 1 fdc kermit 1007 Apr 21 2000 [1773]fl_china.gif
- -rw-r--r-- 1 fdc kermit 1361 Apr 21 2000 [1774]fl_cuba.gif
- -rw-r--r-- 1 fdc kermit 3534 Sep 24 2004 [1775]fl_dr.jpg
- -rw-r--r-- 1 fdc kermit 1054 Apr 21 2000 [1776]fl_finland.gif
- -rw-r--r-- 1 fdc kermit 1051 Apr 21 2000 [1777]fl_france.gif
- -rw-r--r-- 1 fdc kermit 1129 Apr 21 2000 [1778]fl_germany.gif
- -rw-r--r-- 1 fdc kermit 1502 Apr 21 2000 [1779]fl_india.gif
- -rw-r--r-- 1 fdc kermit 1120 Apr 21 2000 [1780]fl_ireland.gif
- -rw-r--r-- 1 fdc kermit 1053 Apr 21 2000 [1781]fl_italy.gif
- -rw-r--r-- 1 fdc kermit 1069 Apr 21 2000 [1782]fl_luxembourg.g
- if
- -rw-r--r-- 1 fdc kermit 1342 Apr 21 2000 [1783]fl_mexico.gif
- -rw-r--r-- 1 fdc kermit 1030 Apr 21 2000 [1784]fl_netherlands.
- gif
- -rw-r--r-- 1 fdc kermit 1425 Apr 21 2000 [1785]fl_newzealand.g
- if
- -rw-r--r-- 1 fdc kermit 1159 Apr 21 2000 [1786]fl_norway.gif
- -rw-r--r-- 1 fdc kermit 1312 Apr 21 2000 [1787]fl_portugal.gif
- -rw-r--r-- 1 fdc kermit 1003 Apr 21 2000 [1788]fl_scotland.gif
- -rw-r--r-- 1 fdc kermit 1249 Apr 21 2000 [1789]fl_spain.gif
- -rw-r--r-- 1 fdc kermit 1560 Apr 21 2000 [1790]fl_uk.gif
- -rw-r--r-- 1 fdc kermit 1231 Jul 9 2002 [1791]fl_uk2.gif
- -rw-r--r-- 1 fdc kermit 1311 Apr 21 2000 [1792]fl_wales.gif
- -rw-r--r-- 1 fdc kermit 2768 Jul 5 2013 [1793]flag-ba-100.jpg
- -rw-r--r-- 1 fdc kermit 8934 Jul 5 2013 [1794]flag-ba-280.jpg
- -rw-r--r-- 1 fdc kermit 1654 Jul 5 2013 [1795]flag-ba-60.jpg
- -rw-r--r-- 1 fdc kermit 106933 Jul 5 2013 [1796]flag-ba.jpg
- -rw-r--r-- 1 fdc kermit 3185 Jul 5 2013 [1797]flag-br-100.jpg
- -rw-r--r-- 1 fdc kermit 9511 Jul 5 2013 [1798]flag-br-280.jpg
- -rw-r--r-- 1 fdc kermit 1848 Jul 5 2013 [1799]flag-br-60.jpg
- -rw-r--r-- 1 fdc kermit 35729 Jul 5 2013 [1800]flag-br.jpg
- -rw-r--r-- 1 fdc kermit 848 May 8 2013 [1801]flag-bz-20.jpg
- -rw-r--r-- 1 fdc kermit 1450 May 8 2013 [1802]flag-bz-40.jpg
- -rw-r--r-- 1 fdc kermit 35044 Apr 23 2019 [1803]flag-strip1-20.
- jpg
- -rw-r--r-- 1 fdc kermit 407 Apr 7 2003 [1804]flag.html
- -rw-r--r-- 1 fdc kermit 23449 Jul 1 2000 [1805]flags2.jpg
- -rw-r--r-- 1 fdc kermit 3706 Sep 27 2011 [1806]fontsize.html
- -rw-r--r-- 1 fdc kermit 140 Jul 29 2003 [1807]foo
- -rw-r--r-- 1 fdc kermit 41791 Sep 21 2004 [1808]frances.jpg
- -rw-r--r-- 1 fdc kermit 2425 Sep 25 2014 [1809]ftp.html
- drwxr-xr-x 5 fdc kermit 6 Mar 2 2018 [1810]ftp/
- -rw-r--r-- 1 fdc kermit 15380 Sep 25 2014 [1811]ftpclient-es-is
- o-8848-1.html
- -rw-r--r-- 1 fdc kermit 15712 Mar 13 2019 [1812]ftpclient-es.ht
- ml
- -rw-r--r-- 1 fdc kermit 15380 Sep 25 2014 [1813]ftpclient-es.ht
- ml.~1~
- -rw-r--r-- 1 fdc kermit 15943 Mar 12 2019 [1814]ftpclient-es.ht
- ml.~2~
- -rw-r--r-- 1 fdc kermit 15703 Mar 12 2019 [1815]ftpclient-es.ht
- ml.~3~
- -rw-r--r-- 1 fdc kermit 15702 Mar 12 2019 [1816]ftpclient-es.ht
- ml.~4~
- -rw-r--r-- 1 fdc kermit 14461 Aug 3 2019 [1817]ftpclient.html
- -rw-r--r-- 1 fdc kermit 12766 Sep 25 2014 [1818]ftpclient.html.
- ~1~
- -rw-r--r-- 1 fdc kermit 13189 Jan 13 2015 [1819]ftpclient.html.
- ~2~
- -rw-r--r-- 1 fdc kermit 14455 Mar 27 2019 [1820]ftpclient.html.
- ~4~
- -rw-r--r-- 1 fdc kermit 14460 Jul 31 2019 [1821]ftpclient.html.
- ~5~
- -rw-r--r-- 1 fdc kermit 3482 Sep 23 2011 [1822]ftpd.html
- -rw-r--r-- 1 fdc kermit 578 Sep 23 2011 [1823]ftpdoc.html
- -rw-r--r-- 1 fdc kermit 106610 Dec 22 2000 [1824]ftpdoc.old
- -rw-r--r-- 1 fdc kermit 27227 Sep 27 2011 [1825]ftpfaq.html
- -rw-r--r-- 1 fdc kermit 18813 Sep 25 2014 [1826]ftphlp.html
- -rw-r--r-- 1 fdc kermit 42232 Jan 18 2016 [1827]ftpscripts.html
- -rw-r--r-- 1 fdc kermit 41312 Jul 12 2013 [1828]ftpscripts.html
- .~1~
- -rw-r--r-- 1 fdc kermit 42231 Jan 20 2014 [1829]ftpscripts.html
- .~2~
- -rw-r--r-- 1 fdc kermit 15943 Mar 12 2019 [1830]ftputf8.html
- -rw-r--r-- 1 fdc kermit 18456 Jun 30 2000 [1831]gears.gif
- -rw-r--r-- 1 fdc kermit 25256 Jun 30 2000 [1832]gears.jpg
- -rw-r--r-- 1 fdc kermit 20232 Jun 30 2000 [1833]gears2.jpg
- -rw-r--r-- 1 fdc kermit 21391 Jul 7 2002 [1834]george-35.gif
- -rw-r--r-- 1 fdc kermit 32438 Jul 7 2002 [1835]george-44.gif
- -rw-r--r-- 1 fdc kermit 56324 Jul 7 2002 [1836]george-60.gif
- -rw-r--r-- 1 fdc kermit 62524 Jul 7 2002 [1837]george-62.gif
- -rw-r--r-- 1 fdc kermit 128550 Jul 7 2002 [1838]george.gif
- -rw-r--r-- 1 fdc kermit 1765 Sep 23 2011 [1839]george.html
- -rw-r--r-- 1 fdc kermit 9156 Feb 25 2014 [1840]getkermitscript
- .html
- -rw-r--r-- 1 fdc kermit 5219 Jan 12 2014 [1841]getkermitscript
- .html.~1~
- -rw-r--r-- 1 fdc kermit 9077 Jan 12 2014 [1842]getkermitscript
- .html.~2~
- -rw-r--r-- 1 fdc kermit 1520 Sep 23 2011 [1843]gkermit-de.html
- -rw-r--r-- 1 fdc kermit 103227 Jan 17 2016 [1844]gkermit.html
- -rw-r--r-- 1 fdc kermit 102835 Jan 17 2016 [1845]gkermit.html.~1
- ~
- -rw-r--r-- 1 fdc kermit 19374 Oct 26 2002 [1846]glass.gif
- -rw-r--r-- 1 fdc kermit 8001 Sep 27 2011 [1847]glass.html
- -rw-r--r-- 1 fdc kermit 31976 Oct 26 2002 [1848]glass2.gif
- -rw-r--r-- 1 fdc kermit 6524 Oct 26 2002 [1849]glass2sm.gif
- -rw-r--r-- 1 fdc kermit 4410 Oct 26 2002 [1850]glass_sm.gif
- -rw-r--r-- 1 fdc kermit 21839 Jul 11 2011 [1851]gloss.html
- -rw-r--r-- 1 fdc kermit 1704 Jun 4 2002 [1852]gold.gif
- -rw-r--r-- 1 fdc kermit 1704 Jun 4 2002 [1853]gold2.gif
- -rw-r--r-- 1 fdc kermit 53 Dec 8 2012 [1854]googlea2b1562c2
- 37018db.html
- -rw-r--r-- 1 fdc kermit 1646 Mar 21 2003 [1855]gothic.html
- -rw-r--r-- 1 fdc kermit 4449 Mar 5 2003 [1856]greek.html
- drwxr-xr-x 2 fdc kermit 16 May 31 2002 [1857]gui/
- -rw-r--r-- 1 fdc kermit 19022 Oct 26 2002 [1858]guiopen.gif
- -rw-r--r-- 1 fdc kermit 18266 Oct 20 2002 [1859]guipage.gif
- -rw-r--r-- 1 fdc kermit 15212 May 31 2002 [1860]guipopup.gif
- -rw-r--r-- 1 fdc kermit 19950 Oct 26 2002 [1861]guiscrn.gif
- -rw-r--r-- 1 fdc kermit 4829 Oct 26 2002 [1862]guiscrsm.gif
- -rw-r--r-- 1 fdc kermit 2950 May 31 2002 [1863]guistat.gif
- -rw-r--r-- 1 fdc kermit 2964 May 31 2002 [1864]guitools.gif
- -rw-r--r-- 1 fdc kermit 3321 Feb 19 2014 [1865]head-2014.html
- lrwxrwxrwx 1 fdc kermit 9 May 27 2015 [1866]head-en.html ->
- head.html
- -rw-r--r-- 1 fdc kermit 4032 May 27 2015 [1867]head-es.html
- -rw-r--r-- 1 fdc kermit 3754 May 8 2017 [1868]head.html
- -rw-r--r-- 1 fdc kermit 2955 Sep 14 2013 [1869]head.html.~1~
- -rw-r--r-- 1 fdc kermit 3321 Feb 19 2014 [1870]head.html.~2~
- -rw-r--r-- 1 fdc kermit 3548 Apr 23 2015 [1871]head.html.~4~
- -rw-r--r-- 1 fdc kermit 3758 May 27 2015 [1872]head.html.~5~
- -rw-r--r-- 1 fdc kermit 4841 Mar 4 2003 [1873]hebrew.html
- -rw-r--r-- 1 fdc kermit 17 Mar 8 2017 [1874]hebrew.utf8.txt
- -rw-r--r-- 1 fdc kermit 31772 Jun 20 2002 [1875]hebrew1.gif
- -rw-r--r-- 1 fdc kermit 23974 Jun 20 2002 [1876]hebrew2.gif
- -rw-r--r-- 1 fdc kermit 155 Jun 3 2004 [1877]hello.ksc
- -rw-r--r-- 1 fdc kermit 155 Aug 16 2002 [1878]helper.ksc
- -rw-r--r-- 1 fdc kermit 465 Mar 10 2011 [1879]historical.html
- -rw-r--r-- 1 fdc kermit 12374 Sep 25 2014 [1880]home-es.html
- lrwxrwxrwx 1 fdc kermit 10 Jul 13 2011 [1881]home.html -> in
- dex.html
- -rw-r--r-- 1 fdc kermit 20370 Jul 11 2011 [1882]home.html.save
- -rw-r--r-- 1 fdc kermit 33256 Oct 1 2001 [1883]hostmode.txt
- lrwxrwxrwx 1 fdc kermit 15 Mar 27 2003 [1884]hostuser.txt ->
- k95hostuser.txt
- -rw-r--r-- 1 fdc kermit 9610 Sep 25 2014 [1885]hp.html
- -rw-r--r-- 1 fdc kermit 30767 Jul 22 2011 [1886]hp48-160.jpg
- -rw-r--r-- 1 fdc kermit 111552 Jul 22 2011 [1887]hp48-740.jpg
- -rw-r--r-- 1 fdc kermit 139749 Sep 18 2013 [1888]hp48-r.jpg
- -rw-r--r-- 1 fdc kermit 12857 Sep 18 2013 [1889]hp48-t.jpg
- -rw-r--r-- 1 fdc kermit 1308 Sep 18 2013 [1890]hp48.html
- -rw-r--r-- 1 fdc kermit 699142 Jul 22 2011 [1891]hp48.jpg
- -rw-r--r-- 1 fdc kermit 920245 Jul 13 2011 [1892]hp500.pdf
- -rw-r--r-- 1 fdc kermit 2198 Sep 9 2018 [1893]htaccess
- -rw-r--r-- 1 fdc kermit 18353 Jun 4 2019 [1894]html.html
- -rw-r--r-- 1 fdc kermit 18280 May 24 2019 [1895]html.html.~10~
- -rw-r--r-- 1 fdc kermit 4737 Apr 30 2017 [1896]html.html.~1~
- -rw-r--r-- 1 fdc kermit 14132 Apr 30 2017 [1897]html.html.~2~
- -rw-r--r-- 1 fdc kermit 18237 Oct 6 2017 [1898]html.html.~9~
- drwxr-xr-x 2 fdc kermit 4 Sep 14 00:34 [1899]httpd_logs/
- -rw-r--r-- 1 fdc kermit 17632 Sep 22 2011 [1900]hudson.jpg
- -rw-r--r-- 1 fdc kermit 16663 Dec 9 1994 [1901]i40.gif
- -rw-r--r-- 1 fdc kermit 2195 Dec 9 1994 [1902]i40_i.gif
- -rw-r--r-- 1 fdc kermit 6000 Sep 25 2014 [1903]ibm370.html
- -rw-r--r-- 1 fdc kermit 3209 Mar 25 2002 [1904]ibm_05.jpg
- -rw-r--r-- 1 fdc kermit 41301 Sep 25 2014 [1905]ibm_ie.html
- -rw-r--r-- 1 fdc kermit 32126 Jul 23 2002 [1906]ibm_ie.old
- -rw-r--r-- 1 fdc kermit 2388 Sep 27 2011 [1907]icon-120.jpg
- -rw-r--r-- 1 fdc kermit 458 Sep 27 2011 [1908]icon-16.jpg
- -rw-r--r-- 1 fdc kermit 24320 Sep 27 2011 [1909]icon-64.jpg
- -rw-r--r-- 1 fdc kermit 63708 Sep 27 2011 [1910]icon.jpg
- -rw-r--r-- 1 fdc kermit 3401 Jul 14 2000 [1911]ietf01.html
- -rw-r--r-- 1 fdc kermit 3378 Jul 14 2000 [1912]ietf01.txt
- -rw-r--r-- 1 fdc kermit 5868 Sep 25 2014 [1913]ik0431.html
- -rw-r--r-- 1 fdc kermit 2737 Sep 25 2014 [1914]ik0431_beta.htm
- l
- -rw-r--r-- 1 fdc kermit 7017 Sep 25 2014 [1915]iksd.html
- -rw-r--r-- 1 fdc kermit 9893 Sep 25 2014 [1916]iksuser.html
- -rw-r--r-- 1 fdc kermit 26643 Apr 2 2015 [1917]imagesloaded.pk
- gd.js
- -rw-r--r-- 1 fdc kermit 3234 Jan 15 1996 [1918]imall.gif
- -rw-r--r-- 1 fdc kermit 26869 Dec 20 2017 [1919]index-20171220.
- html
- -rw-r--r-- 1 fdc kermit 35997 Mar 27 2019 [1920]index-20190419.
- html
- -rw-rw-r-- 1 fdc kermit 40298 Dec 30 2019 [1921]index-20200120:
- 07:10:43.html
- -rw-r--r-- 1 fdc kermit 12580 Sep 14 2013 [1922]index-before-js
- .html
- -rw-r--r-- 1 fdc kermit 20781 Sep 25 2014 [1923]index-de-201108
- 19.html
- -rw-r--r-- 1 fdc kermit 6286 Aug 22 2011 [1924]index-de.diff
- -rw-r--r-- 1 fdc kermit 20973 Sep 25 2014 [1925]index-de.html
- -rw-r--r-- 1 fdc kermit 22314 Sep 25 2014 [1926]index-en.html
- -rw-r--r-- 1 fdc kermit 24611 Jun 8 2017 [1927]index-es.html
- -rw-r--r-- 1 fdc kermit 13381 Nov 3 2013 [1928]index-es.html.~
- 1~
- -rw-r--r-- 1 fdc kermit 13381 Nov 11 2013 [1929]index-es.html.~
- 2~
- -rw-r--r-- 1 fdc kermit 21128 Jan 14 2017 [1930]index-es.html.~
- 57~
- -rw-r--r-- 1 fdc kermit 21738 Mar 8 2017 [1931]index-es.html.~
- 58~
- -rw-r--r-- 1 fdc kermit 11049 Jul 25 2011 [1932]index-es.txt
- -rw-r--r-- 1 fdc kermit 12941 Sep 25 2014 [1933]index-ftp-probl
- em.html
- -rw-r--r-- 1 fdc kermit 23699 Mar 15 2017 [1934]index-latin1.ht
- ml
- -rw-r--r-- 1 fdc kermit 4477 Sep 23 2011 [1935]index-notables.
- html
- -rw-r--r-- 1 fdc kermit 29306 Sep 25 2014 [1936]index-ru.html
- -rw-r--r-- 1 fdc kermit 23880 Mar 15 2017 [1937]index-utf8-back
- up.html
- -rw-r--r-- 1 fdc kermit 25562 May 28 2017 [1938]index-utf8.html
- -rw-rw-r-- 1 fdc kermit 41673 Sep 15 10:54 [1939]index.html
- -rw-rw-r-- 1 fdc kermit 40298 Dec 30 2019 [1940]index.html.1
- -rw-rw-r-- 1 fdc kermit 41384 Jul 27 16:20 [1941]index.html.2
- -rw-rw-r-- 1 fdc kermit 41616 Jul 31 12:41 [1942]index.html.~147
- ~
- -rw-rw-r-- 1 fdc kermit 41616 Sep 14 15:25 [1943]index.html.~148
- ~
- -rw-r--r-- 1 fdc kermit 13962 Nov 3 2013 [1944]index.html.~1~
- -rw-r--r-- 1 fdc kermit 13962 Nov 11 2013 [1945]index.html.~2~
- -rw-r--r-- 1 fdc kermit 12880 Sep 16 2013 [1946]index.save
- -rw-rw---- 1 fdc kermit 156 Jul 28 2019 [1947]index.txt
- -rw-r--r-- 1 fdc kermit 4123 Sep 23 2011 [1948]index_before_aw
- ard.html
- -rw-r--r-- 1 fdc kermit 7460 Sep 25 2014 [1949]infokermit.html
- -rw-r--r-- 1 fdc kermit 36536 Jul 11 2011 [1950]infwinston222a.
- html
- -rw-r--r-- 1 fdc kermit 4237 Sep 23 2011 [1951]input_nowrap.ht
- ml
- -rw-r--r-- 1 fdc kermit 11192 Dec 9 1994 [1952]invest.gif
- -rw-r--r-- 1 fdc kermit 2238 Dec 9 1994 [1953]invest_i.gif
- -rw-r--r-- 1 fdc kermit 1053 Apr 21 2000 [1954]italy1.gif
- drwxr-xr-x 2 fdc kermit 6 Jan 14 2017 [1955]its/
- -rw-r--r-- 1 fdc kermit 8742 Oct 7 2002 [1956]j01.jpg
- -rw-r--r-- 1 fdc kermit 8971 Oct 7 2002 [1957]j02.jpg
- -rw-r--r-- 1 fdc kermit 9804 Oct 7 2002 [1958]j03.jpg
- -rw-r--r-- 1 fdc kermit 12093 Oct 7 2002 [1959]j04.jpg
- -rw-r--r-- 1 fdc kermit 11416 Oct 7 2002 [1960]j05.jpg
- -rw-r--r-- 1 fdc kermit 11856 Oct 7 2002 [1961]j06.jpg
- -rw-r--r-- 1 fdc kermit 10582 Oct 7 2002 [1962]j07.jpg
- -rw-r--r-- 1 fdc kermit 2587 Oct 7 2002 [1963]j08.jpg
- -rw-r--r-- 1 fdc kermit 3007 Oct 7 2002 [1964]j09.jpg
- -rw-r--r-- 1 fdc kermit 10773 Oct 7 2002 [1965]j10.jpg
- -rw-r--r-- 1 fdc kermit 3137 Oct 7 2002 [1966]j11.jpg
- -rw-r--r-- 1 fdc kermit 3098 Oct 7 2002 [1967]j12.jpg
- -rw-r--r-- 1 fdc kermit 3357 Oct 7 2002 [1968]j13.jpg
- -rw-r--r-- 1 fdc kermit 5220 Oct 7 2002 [1969]j14.jpg
- -rw-r--r-- 1 fdc kermit 22 Aug 23 2011 [1970]k
- -rw-r--r-- 1 fdc kermit 5261 Sep 25 2014 [1971]k12doc.html
- -rw-r--r-- 1 fdc kermit 8679 Sep 25 2014 [1972]k370.html
- -rw-r--r-- 1 fdc kermit 26626 Feb 21 2010 [1973]k95-21-160.jpg
- -rw-r--r-- 1 fdc kermit 76596 Feb 21 2010 [1974]k95-21-400.jpg
- -rw-r--r-- 1 fdc kermit 137666 Feb 21 2010 [1975]k95-21-600.jpg
- -rw-r--r-- 1 fdc kermit 1936 Mar 10 2011 [1976]k95-21-80.jpg
- -rw-r--r-- 1 fdc kermit 203408 Sep 18 2013 [1977]k95-21-r.jpg
- -rw-r--r-- 1 fdc kermit 11318 Sep 18 2013 [1978]k95-21-t.jpg
- -rw-r--r-- 1 fdc kermit 1309 Sep 18 2013 [1979]k95-21.html
- -rw-r--r-- 1 fdc kermit 704970 Feb 21 2010 [1980]k95-21.jpg
- -rw-r--r-- 1 fdc kermit 8186 Dec 15 2005 [1981]k95-fixes-since
- -213.txt
- -rw-r--r-- 1 fdc kermit 75440 Sep 1 2011 [1982]k95-options.pdf
- -rw-r--r-- 1 fdc kermit 40801 Jul 24 07:29 [1983]k95.html
- -rw-r--r-- 1 fdc kermit 39814 Jun 14 09:09 [1984]k95.html.~10~
- -rw-r--r-- 1 fdc kermit 39160 Sep 28 2011 [1985]k95.html.~1~
- -rw-r--r-- 1 fdc kermit 39164 Sep 25 2014 [1986]k95.html.~2~
- -rw-r--r-- 1 fdc kermit 39821 Aug 25 2019 [1987]k95.html.~9~
- -rw-r--r-- 1 fdc kermit 28515 Sep 19 2001 [1988]k95.orig
- -rw-r--r-- 1 fdc kermit 131908 Oct 8 2002 [1989]k95.vt220.klone
- .test.jpg
- -rw-r--r-- 1 fdc kermit 128506 Oct 16 2002 [1990]k95.vt220.klone
- .test.off.jpg
- -rw-r--r-- 1 fdc kermit 129574 Oct 16 2002 [1991]k95.vt220.klone
- .test.on.jpg
- drwxr-xr-x 3 fdc kermit 5 Jan 28 2017 [1992]k95/
- -rw-r--r-- 1 fdc kermit 11655 Sep 23 2011 [1993]k95112.html
- -rw-r--r-- 1 fdc kermit 4495 Dec 6 2006 [1994]k95_1120.html
- -rw-r--r-- 1 fdc kermit 25351 Sep 25 2014 [1995]k95_1120_patch.
- html
- -rw-r--r-- 1 fdc kermit 3643 Jul 18 2011 [1996]k95_1121.html
- drw-r--r-- 2 fdc kermit 23 Mar 23 2017 [1997]k95_20/
- -rw-r--r-- 1 fdc kermit 13257 Sep 27 2011 [1998]k95_20_ann.html
- -rw-r--r-- 1 fdc kermit 3533 Jul 11 2011 [1999]k95_213_ann.htm
- l
- -rw-r--r-- 1 fdc kermit 10953665 Jul 11 2005 [2000]k95_213_crypto
- _bulk_dlo.exe
- -rw-r--r-- 1 fdc kermit 3798 Oct 15 2010 [2001]k95_21_ann.html
- -rw-r--r-- 1 fdc kermit 8031 Sep 25 2014 [2002]k95_21_beta.htm
- l
- -rw-r--r-- 1 fdc kermit 6940 Oct 23 2009 [2003]k95amazon.html
- -rw-r--r-- 1 fdc kermit 4558 Feb 16 2003 [2004]k95asl.html
- -rw-r--r-- 1 fdc kermit 13824 Oct 22 2013 [2005]k95beta.html
- -rw-r--r-- 1 fdc kermit 3512 Mar 11 2011 [2006]k95book-100.jpg
- -rw-r--r-- 1 fdc kermit 6510 Mar 11 2011 [2007]k95book-150.jpg
- -rw-r--r-- 1 fdc kermit 17313 Mar 11 2011 [2008]k95book-280.jpg
- -rw-r--r-- 1 fdc kermit 61078 Mar 11 2011 [2009]k95book-600.jpg
- -rw-r--r-- 1 fdc kermit 98828 Mar 26 2002 [2010]k95box.jpg
- -rw-r--r-- 1 fdc kermit 115128 Dec 31 2002 [2011]k95box2.jpg
- -rw-r--r-- 1 fdc kermit 36100 Mar 25 2002 [2012]k95boxes.gif
- -rw-r--r-- 1 fdc kermit 43759 Dec 31 2002 [2013]k95boxes2.jpg
- -rw-r--r-- 1 fdc kermit 319302 Sep 25 2014 [2014]k95bugs.html
- -rw-r--r-- 1 fdc kermit 4701 Dec 14 2003 [2015]k95bulk-2003010
- 1.html
- -rw-r--r-- 1 fdc kermit 7638 Mar 10 2011 [2016]k95bulk.html
- -rw-r--r-- 1 fdc kermit 7737 Jun 22 2002 [2017]k95charsets.htm
- l
- -rw-r--r-- 1 fdc kermit 9050 Sep 25 2014 [2018]k95compare.html
- -rw-r--r-- 1 fdc kermit 54956 Oct 23 1995 [2019]k95cover.gif
- -rw-r--r-- 1 fdc kermit 141 Oct 23 1995 [2020]k95cover.html
- -rw-r--r-- 1 fdc kermit 1336780 Oct 15 2009 [2021]k95cover2.jpg
- -rw-r--r-- 1 fdc kermit 1518883 Oct 15 2009 [2022]k95cover3.jpg
- -rw-r--r-- 1 fdc kermit 1386211 Oct 15 2009 [2023]k95cover4.jpg
- -rw-r--r-- 1 fdc kermit 1557697 Oct 15 2009 [2024]k95cover5.jpg
- -rw-r--r-- 1 fdc kermit 1638230 Oct 15 2009 [2025]k95cover6.jpg
- -rw-r--r-- 1 fdc kermit 1616 Sep 23 2011 [2026]k95da.html
- -rw-r--r-- 1 fdc kermit 963 Sep 23 2011 [2027]k95dc.html
- -rw-r--r-- 1 fdc kermit 8618 Sep 25 2014 [2028]k95demo.html
- -rw-r--r-- 1 fdc kermit 8133 Jan 18 2002 [2029]k95demo.save
- -rw-r--r-- 1 fdc kermit 4498 Sep 27 2011 [2030]k95democ.html
- -rw-r--r-- 1 fdc kermit 27771 Mar 24 2002 [2031]k95dial.gif
- -rw-r--r-- 1 fdc kermit 1062 Sep 23 2011 [2032]k95dial.html
- -rw-r--r-- 1 fdc kermit 9270 Nov 26 2001 [2033]k95dll_c.txt
- -rw-r--r-- 1 fdc kermit 381 Sep 23 2011 [2034]k95download.htm
- l
- -rw-r--r-- 1 fdc kermit 1473 Sep 12 1995 [2035]k95faithful
- -rw-r--r-- 1 fdc kermit 1586 Sep 23 2011 [2036]k95faithful.htm
- l
- -rw-r--r-- 1 fdc kermit 211788 Jul 24 07:31 [2037]k95faq.html
- -rw-r--r-- 1 fdc kermit 209757 Aug 25 2019 [2038]k95faq.html.~12
- ~
- -rw-r--r-- 1 fdc kermit 211802 Jun 14 13:24 [2039]k95faq.html.~13
- ~
- -rw-r--r-- 1 fdc kermit 202018 Sep 25 2014 [2040]k95faq.html.~1~
- -rw-r--r-- 1 fdc kermit 201933 Oct 8 2015 [2041]k95faq.html.~2~
- -rw-r--r-- 1 fdc kermit 40641 Sep 4 1995 [2042]k95features.gif
- -rw-r--r-- 1 fdc kermit 119837 Sep 23 2011 [2043]k95fixes.html
- -rw-r--r-- 1 fdc kermit 4200 Jul 11 2011 [2044]k95gallery.html
- -rw-r--r-- 1 fdc kermit 282 Mar 22 2002 [2045]k95green.gif
- -rw-r--r-- 1 fdc kermit 60778 Sep 27 2011 [2046]k95gui.html
- -rw-r--r-- 1 fdc kermit 27859 Sep 4 1995 [2047]k95help.gif
- -rw-r--r-- 1 fdc kermit 534 Sep 23 2011 [2048]k95hints.html
- -rw-r--r-- 1 fdc kermit 5413 Sep 23 2011 [2049]k95host.html
- -rw-r--r-- 1 fdc kermit 20050 May 4 1997 [2050]k95hostuser.txt
- -rw-r--r-- 1 fdc kermit 5479 Sep 23 2011 [2051]k95hyper.html
- -rw-r--r-- 1 fdc kermit 4895 Sep 27 2011 [2052]k95iksd.html
- -rw-r--r-- 1 fdc kermit 22710 Sep 23 2011 [2053]k95ins.html
- -rw-r--r-- 1 fdc kermit 4846 Jul 29 2016 [2054]k95jeff.html
- -rw-r--r-- 1 fdc kermit 4837 Sep 23 2011 [2055]k95jeff.html.~1
- ~
- -rw-r--r-- 1 fdc kermit 12655 Sep 23 2011 [2056]k95k2pricing.ht
- ml
- -rw-r--r-- 1 fdc kermit 27939 Mar 24 2002 [2057]k95kbpage.gif
- -rw-r--r-- 1 fdc kermit 23382 Sep 23 2011 [2058]k95keycodes.htm
- l
- drwxr-xr-x 2 fdc kermit 12 Sep 12 2007 [2059]k95keymaps/
- -rw-r--r-- 1 fdc kermit 7930 Jul 24 12:10 [2060]k95license.html
- -rw-rw---- 1 fdc kermit 5847 Jul 24 09:46 [2061]k95license.html
- .~1~
- -rw-r--r-- 1 fdc kermit 25063 Feb 10 2016 [2062]k95manual-99.jp
- g
- -rw-r--r-- 1 fdc kermit 139430 Feb 10 2016 [2063]k95manual.jpg
- drwxr-xr-x 2 fdc kermit 210 Aug 25 2019 [2064]k95manual/
- -rw-r--r-- 1 fdc kermit 601 Sep 23 2011 [2065]k95migrate.html
- -rw-r--r-- 1 fdc kermit 382 Sep 25 2014 [2066]k95newbugs.html
- -rw-r--r-- 1 fdc kermit 15555 Sep 25 2014 [2067]k95news.html
- -rw-r--r-- 1 fdc kermit 10934 Sep 23 2011 [2068]k95next.html
- -rw-r--r-- 1 fdc kermit 690 Aug 5 1997 [2069]k95oack.xxx
- -rw-r--r-- 1 fdc kermit 1044 Sep 23 2011 [2070]k95ofront.html
- -rw-r--r-- 1 fdc kermit 2718 Nov 27 2001 [2071]k95ofront.orig
- -rw-r--r-- 1 fdc kermit 2332 Aug 25 2019 [2072]k95order.html
- -rw-r--r-- 1 fdc kermit 16429 Sep 25 2014 [2073]k95patch.html
- -rw-r--r-- 1 fdc kermit 16429 Sep 25 2014 [2074]k95patches.html
- -rw-r--r-- 1 fdc kermit 35396 Sep 1 1995 [2075]k95pic1.gif
- -rw-r--r-- 1 fdc kermit 1794 Sep 23 2011 [2076]k95portable.htm
- l
- -rw-r--r-- 1 fdc kermit 11380 Sep 23 2011 [2077]k95qmodem.html
- -rw-r--r-- 1 fdc kermit 57455 Sep 25 2014 [2078]k95readme.html
- -rw-r--r-- 1 fdc kermit 1108 Mar 22 2002 [2079]k95red.gif
- -rw-r--r-- 1 fdc kermit 40804 Sep 27 2011 [2080]k95reviews.html
- -rw-r--r-- 1 fdc kermit 35396 Sep 2 1995 [2081]k95s2.gif
- -rw-r--r-- 1 fdc kermit 37659 Sep 2 1995 [2082]k95screen.gif
- -rw-r--r-- 1 fdc kermit 59700 Mar 27 2002 [2083]k95screens.gif
- -rw-r--r-- 1 fdc kermit 1295 Sep 23 2011 [2084]k95screens.html
- -rw-r--r-- 1 fdc kermit 64004 Sep 23 2011 [2085]k95scripts.html
- -rw-r--r-- 1 fdc kermit 8009 Sep 23 2011 [2086]k95shots.html
- -rw-r--r-- 1 fdc kermit 20109 Oct 19 1995 [2087]k95side.gif
- -rw-r--r-- 1 fdc kermit 13005 Oct 19 1995 [2088]k95side2.gif
- -rw-r--r-- 1 fdc kermit 36692 Oct 23 1995 [2089]k95sky.gif
- -rw-r--r-- 1 fdc kermit 33409 Sep 2 1995 [2090]k95small.gif
- -rw-r--r-- 1 fdc kermit 18635 Oct 16 2015 [2091]k95sourcecode-o
- rig.html
- -rw-r--r-- 1 fdc kermit 18802 Apr 9 2014 [2092]k95sourcecode-o
- rig.html.~1~
- -rw-r--r-- 1 fdc kermit 11935 May 14 2019 [2093]k95sourcecode.h
- tml
- -rw-r--r-- 1 fdc kermit 11888 Feb 25 2018 [2094]k95sourcecode.h
- tml.~13~
- -rw-r--r-- 1 fdc kermit 11890 Aug 31 2018 [2095]k95sourcecode.h
- tml.~14~
- -rw-r--r-- 1 fdc kermit 17770 Sep 29 2011 [2096]k95sourcecode.h
- tml.~1~
- -rw-r--r-- 1 fdc kermit 18596 Nov 22 2013 [2097]k95sourcecode.h
- tml.~2~
- -rw-r--r-- 1 fdc kermit 16652 Oct 23 1995 [2098]k95spine.gif
- -rw-r--r-- 1 fdc kermit 32823 Mar 27 2002 [2099]k95sscreen.gif
- -rw-r--r-- 1 fdc kermit 432446 Feb 14 2015 [2100]k95sshclient-po
- lski.html
- lrwxrwxrwx 1 fdc kermit 14 Feb 14 2015 [2101]k95sshclient.ht
- ml -> sshclient.html
- -rw-r--r-- 1 fdc kermit 43162 Mar 27 2002 [2102]k95stshot.jpg
- lrwxrwxrwx 1 fdc kermit 11 Jul 21 2011 [2103]k95support.html
- -> k95faq.html
- -rw-r--r-- 1 fdc kermit 13600 Sep 23 2011 [2104]k95survey.html
- -rw-r--r-- 1 fdc kermit 64589 Mar 28 2002 [2105]k95t2.gif
- -rw-r--r-- 1 fdc kermit 15202 Mar 24 2002 [2106]k95telnet.gif
- -rw-r--r-- 1 fdc kermit 2909 Sep 23 2011 [2107]k95telnet.html
- -rw-r--r-- 1 fdc kermit 27343 Feb 13 1997 [2108]k95term.gif
- -rw-r--r-- 1 fdc kermit 2303 Sep 23 2011 [2109]k95tohere.html
- -rw-r--r-- 1 fdc kermit 166665 Mar 27 2002 [2110]k95tshots.jpg
- -rw-r--r-- 1 fdc kermit 27037 Jun 14 2017 [2111]k95tutor.html
- -rw-r--r-- 1 fdc kermit 27095 Sep 27 2011 [2112]k95tutor.html.~
- 1~
- -rw-r--r-- 1 fdc kermit 1419 Sep 23 2011 [2113]k95uniform.html
- -rw-r--r-- 1 fdc kermit 8012 Sep 27 2011 [2114]k95uninstall.ht
- ml
- -rw-r--r-- 1 fdc kermit 49030 Apr 5 2000 [2115]k95updates.txt
- -rw-r--r-- 1 fdc kermit 14670 Sep 25 2014 [2116]k95upgrade.html
- -rw-r--r-- 1 fdc kermit 4031 Sep 23 2011 [2117]k95users.html
- -rw-r--r-- 1 fdc kermit 1356 Sep 25 2014 [2118]k95utils.html
- -rw-r--r-- 1 fdc kermit 2630 Jun 22 2011 [2119]k95v1package-10
- 0.jpg
- -rw-r--r-- 1 fdc kermit 3477 Jun 22 2011 [2120]k95v1package-12
- 0.jpg
- -rw-r--r-- 1 fdc kermit 5462 Jun 22 2011 [2121]k95v1package-16
- 0.jpg
- -rw-r--r-- 1 fdc kermit 13100 Jun 22 2011 [2122]k95v1package-28
- 0.jpg
- -rw-r--r-- 1 fdc kermit 77750 Jun 22 2011 [2123]k95v1package-74
- 0.jpg
- -rw-r--r-- 1 fdc kermit 6876 Sep 23 2011 [2124]k95vt95tn.html
- -rw-r--r-- 1 fdc kermit 6723 Sep 23 2011 [2125]k95vtcrt.html
- -rw-r--r-- 1 fdc kermit 6725 Sep 23 2011 [2126]k95vtewan.html
- -rw-r--r-- 1 fdc kermit 10081 Sep 23 2011 [2127]k95vtfk.html
- -rw-r--r-- 1 fdc kermit 6904 Sep 23 2011 [2128]k95vtk95.html
- -rw-r--r-- 1 fdc kermit 6743 Sep 23 2011 [2129]k95vtnterm.html
- -rw-r--r-- 1 fdc kermit 6802 Sep 23 2011 [2130]k95vtnterm27.ht
- ml
- -rw-r--r-- 1 fdc kermit 6821 Sep 23 2011 [2131]k95vtnterm280.h
- tml
- -rw-r--r-- 1 fdc kermit 6876 Sep 23 2011 [2132]k95vtnttn.html
- -rw-r--r-- 1 fdc kermit 6807 Sep 23 2011 [2133]k95vtqmpro.html
- -rw-r--r-- 1 fdc kermit 6733 Sep 23 2011 [2134]k95vtsimp.html
- -rw-r--r-- 1 fdc kermit 6799 Sep 23 2011 [2135]k95vtwqvt.html
- -rw-r--r-- 1 fdc kermit 2631 Sep 23 2011 [2136]kanji.html
- -rw-r--r-- 1 fdc kermit 2626 Feb 9 1999 [2137]kanji.http
- -rw-r--r-- 1 fdc kermit 10772 Dec 6 1994 [2138]kanji1.gif
- -rw-r--r-- 1 fdc kermit 18757 Dec 6 1994 [2139]kanji2.gif
- -rw-r--r-- 1 fdc kermit 2477 Dec 6 1994 [2140]kanji_icon.gif
- -rw-r--r-- 1 fdc kermit 51068 Mar 10 2011 [2141]kb-latin-cyrill
- ic.txt
- -rw-r--r-- 1 fdc kermit 92495 Aug 25 2019 [2142]kb-ru-utf8.html
- -rw-r--r-- 1 fdc kermit 92495 Mar 17 2011 [2143]kb-ru-utf8.html
- .~1~
- -rw-r--r-- 1 fdc kermit 92384 Aug 25 2019 [2144]kb-utf8.html
- -rw-r--r-- 1 fdc kermit 6898 May 2 2011 [2145]kermit-calendar
- -160.jpg
- -rw-r--r-- 1 fdc kermit 17654 May 2 2011 [2146]kermit-calendar
- -280.jpg
- -rw-r--r-- 1 fdc kermit 124225 May 2 2011 [2147]kermit-calendar
- -740.jpg
- -rw-r--r-- 1 fdc kermit 950753 May 2 2011 [2148]kermit-calendar
- .jpg
- -rw-r--r-- 1 fdc kermit 53940 May 8 2016 [2149]kermit-el.txt
- -rw-r--r-- 1 fdc kermit 41059 Mar 12 2019 [2150]kermit-es.html
- -rw-r--r-- 1 fdc kermit 37856 Sep 25 2014 [2151]kermit-es.html.
- ~1~
- -rw-r--r-- 1 fdc kermit 38799 Dec 15 2016 [2152]kermit-es.html.
- ~2~
- -rw-r--r-- 1 fdc kermit 41051 Jun 8 2017 [2153]kermit-es.html.
- ~4~
- -rw-r--r-- 1 fdc kermit 41059 Feb 25 2018 [2154]kermit-es.html.
- ~5~
- -rw-r--r-- 1 fdc kermit 29239 Jun 8 2016 [2155]kermit-sk.txt
- -rw-r--r-- 1 fdc kermit 38413 Jul 1 2011 [2156]kermit-strip-10
- 0.jpg
- -rw-r--r-- 1 fdc kermit 51125 Jul 1 2011 [2157]kermit-strip-12
- 0.jpg
- -rw-r--r-- 1 fdc kermit 82024 Jul 1 2011 [2158]kermit-strip-16
- 0.jpg
- -rw-r--r-- 1 fdc kermit 204532 Jul 1 2011 [2159]kermit-strip-28
- 0.jpg
- -rw-r--r-- 1 fdc kermit 38033 Jul 1 2011 [2160]kermit-strip2-1
- 00.jpg
- -rw-r--r-- 1 fdc kermit 50564 Jul 1 2011 [2161]kermit-strip2-1
- 20.jpg
- -rw-r--r-- 1 fdc kermit 81028 Jul 1 2011 [2162]kermit-strip2-1
- 60.jpg
- -rw-r--r-- 1 fdc kermit 171455 Jul 1 2011 [2163]kermit-strip2-2
- 80.jpg
- -rw-r--r-- 1 fdc kermit 10753 Jul 27 15:01 [2164]kermit.css
- -rw-r--r-- 1 fdc kermit 5588 Nov 2 2013 [2165]kermit.css.~1~
- -rw-r--r-- 1 fdc kermit 10716 Jun 19 15:16 [2166]kermit.css.~22~
- -rw-r--r-- 1 fdc kermit 10716 Jun 24 11:29 [2167]kermit.css.~23~
- -rw-r--r-- 1 fdc kermit 5634 Dec 26 2014 [2168]kermit.css.~2~
- -rw-r--r-- 1 fdc kermit 884 Apr 22 1999 [2169]kermit.gif
- -rw-r--r-- 1 fdc kermit 53077 Apr 20 12:22 [2170]kermit.html
- -rw-r--r-- 1 fdc kermit 46339 Feb 25 2018 [2171]kermit.html.1
- -rw-r--r-- 1 fdc kermit 42187 Sep 25 2014 [2172]kermit.html.~1~
- -rw-r--r-- 1 fdc kermit 42823 Apr 21 2015 [2173]kermit.html.~2~
- -rw-r--r-- 1 fdc kermit 52910 Jan 27 2020 [2174]kermit.html.~43
- ~
- -rw-r--r-- 1 fdc kermit 52910 Feb 28 2020 [2175]kermit.html.~44
- ~
- -rw-r--r-- 1 fdc kermit 274 Jul 1 2011 [2176]kermit95.html
- -rw-r--r-- 1 fdc kermit 3095 Mar 11 2011 [2177]kermitbook-100.
- jpg
- -rw-r--r-- 1 fdc kermit 6144 Sep 9 2007 [2178]kermitbook-115.
- jpg
- -rw-r--r-- 1 fdc kermit 3920 Mar 11 2011 [2179]kermitbook-150.
- jpg
- -rw-r--r-- 1 fdc kermit 9478 Sep 9 2007 [2180]kermitbook-200.
- jpg
- -rw-r--r-- 1 fdc kermit 9167 Mar 11 2011 [2181]kermitbook-280.
- jpg
- -rw-r--r-- 1 fdc kermit 14201 Sep 9 2007 [2182]kermitbook-300.
- jpg
- -rw-r--r-- 1 fdc kermit 27650 Mar 11 2011 [2183]kermitbook-600.
- jpg
- -rw-r--r-- 1 fdc kermit 578120 Oct 29 2013 [2184]kermitbook-back
- .jpg
- -rw-r--r-- 1 fdc kermit 96118 Mar 12 2019 [2185]kermitbook-ch3-
- ru-test.html
- -rw-r--r-- 1 fdc kermit 55745 May 12 2017 [2186]kermitbook-ch3-
- ru.html
- -rw-r--r-- 1 fdc kermit 55686 Oct 30 2013 [2187]kermitbook-ch3-
- ru.html.~1~
- -rw-r--r-- 1 fdc kermit 55742 Nov 11 2013 [2188]kermitbook-ch3-
- ru.html.~2~
- lrwxrwxrwx 1 fdc kermit 14 Oct 29 2013 [2189]kermitbook-fron
- t.jpg -> kermitbook.jpg
- -rw-r--r-- 1 fdc kermit 149315 Sep 9 2007 [2190]kermitbook.jpg
- -rw-r--r-- 1 fdc kermit 76786 Apr 30 2017 [2191]kermitmanpage.h
- tml
- -rw-r--r-- 1 fdc kermit 41120 Sep 23 2011 [2192]keycodes.html
- -rw-r--r-- 1 fdc kermit 39559 Dec 18 2003 [2193]keycodes.html.u
- ntrimmed
- -rw-r--r-- 1 fdc kermit 63653 Feb 11 2001 [2194]kl10.jpg
- -rw-r--r-- 1 fdc kermit 6762 Feb 11 2001 [2195]kl10s.jpg
- -rw-r--r-- 1 fdc kermit 351327 Mar 11 2011 [2196]kn1-1000.jpg
- -rw-r--r-- 1 fdc kermit 16477 Mar 11 2011 [2197]kn1-280.jpg
- -rw-r--r-- 1 fdc kermit 47208 Mar 11 2011 [2198]kn2-1000.jpg
- -rw-r--r-- 1 fdc kermit 5228 Mar 11 2011 [2199]kn2-280.jpg
- -rw-r--r-- 1 fdc kermit 47730 Mar 11 2011 [2200]kn3-1000.jpg
- -rw-r--r-- 1 fdc kermit 5124 Mar 11 2011 [2201]kn3-280.jpg
- -rw-r--r-- 1 fdc kermit 150760 Mar 11 2011 [2202]kn4-1000.jpg
- -rw-r--r-- 1 fdc kermit 13259 Mar 11 2011 [2203]kn4-280.jpg
- -rw-r--r-- 1 fdc kermit 127085 Jan 26 1995 [2204]kn4.gif
- -rw-r--r-- 1 fdc kermit 137 Jan 26 1995 [2205]kn4_cover.html
- -rw-r--r-- 1 fdc kermit 18519 Jan 26 1995 [2206]kn4_i.gif
- -rw-r--r-- 1 fdc kermit 88066 Mar 11 2011 [2207]kn5-1000.jpg
- -rw-r--r-- 1 fdc kermit 11634 Mar 11 2011 [2208]kn5-280.jpg
- -rw-r--r-- 1 fdc kermit 92667 Jan 26 1995 [2209]kn5.gif
- -rw-r--r-- 1 fdc kermit 137 Jan 26 1995 [2210]kn5_cover.html
- -rw-r--r-- 1 fdc kermit 10520 Jan 26 1995 [2211]kn5_i.gif
- -rw-r--r-- 1 fdc kermit 123341 Mar 11 2011 [2212]kn6-1000.jpg
- -rw-r--r-- 1 fdc kermit 14040 Mar 11 2011 [2213]kn6-280.jpg
- -rw-r--r-- 1 fdc kermit 252150 May 3 1995 [2214]kn6.gif
- -rw-r--r-- 1 fdc kermit 137 May 3 1995 [2215]kn6_cover.html
- -rw-r--r-- 1 fdc kermit 20478 May 3 1995 [2216]kn6_i.gif
- -rw-r--r-- 1 fdc kermit 6457 Sep 23 2011 [2217]koi7.html
- -rw-r--r-- 1 fdc kermit 5346 Oct 16 2019 [2218]koikeys
- -rw-r--r-- 1 fdc kermit 3845 Oct 17 2019 [2219]koikeys.html
- -rw-r--r-- 1 fdc kermit 3211 Oct 16 2019 [2220]koikeys.html.1
- -rw-r--r-- 1 fdc kermit 2487 Oct 16 2019 [2221]koikeys.html.~1
- ~
- -rw-r--r-- 1 fdc kermit 3211 Oct 16 2019 [2222]koikeys.html.~2
- ~
- -rw-r--r-- 1 fdc kermit 2487 Oct 16 2019 [2223]koikeys.txt
- -rw-rw---- 1 fdc kermit 5346 Oct 16 2019 [2224]koikeys.txt.~1~
- -rw-r--r-- 1 fdc kermit 5191 Oct 16 2019 [2225]koikeys.~1~
- -rw-r--r-- 1 fdc kermit 21570 Dec 30 2019 [2226]kp-insecure-ff.
- jpg
- -rw-r--r-- 1 fdc kermit 20868 Dec 30 2019 [2227]kp-insecure-gc.
- jpg
- -rw-r--r-- 1 fdc kermit 166478 Aug 17 2011 [2228]kproto.pdf
- -rw-r--r-- 1 fdc kermit 21588 Feb 28 2018 [2229]ksitemap.html
- -rw-r--r-- 1 fdc kermit 21589 Aug 3 2013 [2230]ksitemap.html.~
- 1~
- -rw-r--r-- 1 fdc kermit 44174 Jun 20 2002 [2231]kucs2.gif
- -rw-r--r-- 1 fdc kermit 15532 Feb 20 1997 [2232]kui1.gif
- -rw-r--r-- 1 fdc kermit 35351 Feb 20 1997 [2233]kui2.gif
- -rw-r--r-- 1 fdc kermit 23335 Feb 20 1997 [2234]kui3.gif
- -rw-r--r-- 1 fdc kermit 12644 Feb 20 1997 [2235]kui4.gif
- -rw-r--r-- 1 fdc kermit 17373 Feb 20 1997 [2236]kui5.gif
- -rw-r--r-- 1 fdc kermit 17604 Feb 20 1997 [2237]kui6.gif
- -rw-r--r-- 1 fdc kermit 25459 Feb 20 1997 [2238]kui7.gif
- -rw-r--r-- 1 fdc kermit 20063 Feb 20 1997 [2239]kui8.gif
- -rw-r--r-- 1 fdc kermit 24208 Feb 20 1997 [2240]kui9.gif
- -rw-r--r-- 1 fdc kermit 7332 Sep 23 2011 [2241]kuishots.html
- -rw-r--r-- 1 fdc kermit 812560 Apr 11 2011 [2242]kurier.pdf
- -rw-r--r-- 1 fdc kermit 267 Aug 16 1988 [2243]kuser.hlp
- -rw-r--r-- 1 fdc kermit 11222 Aug 16 1988 [2244]kuser.hyp
- -rw-r--r-- 1 fdc kermit 119340 Nov 8 1988 [2245]kuser.mss
- -rw-r--r-- 1 fdc kermit 910638 Aug 17 2011 [2246]kuser.pdf
- -rw-r--r-- 1 fdc kermit 1682985 Nov 8 1988 [2247]kuser.ps
- -rw-r--r-- 1 fdc kermit 1103872 Aug 16 1988 [2248]kuser.txt
- -rw-r--r-- 1 fdc kermit 29151 Sep 23 2011 [2249]kverbs.html
- -rw-r--r-- 1 fdc kermit 157093 Aug 16 2011 [2250]l1-postal.html
- -rw-r--r-- 1 fdc kermit 4478 Dec 20 2017 [2251]langbuttons
- -rw-r--r-- 1 fdc kermit 4610 Dec 20 2017 [2252]langbuttons.~1~
- -rw-r--r-- 1 fdc kermit 4541 Dec 20 2017 [2253]langbuttons2
- -rw-r--r-- 1 fdc kermit 2262 Dec 20 2017 [2254]langbuttons3
- -rw-r--r-- 1 fdc kermit 2292 Dec 20 2017 [2255]langbuttons4
- -rw-r--r-- 1 fdc kermit 2768 Dec 20 2017 [2256]langbuttons5
- -rw-r--r-- 1 fdc kermit 2772 Dec 20 2017 [2257]langbuttons5.~1
- ~
- -rw-r--r-- 1 fdc kermit 9819 Feb 7 2019 [2258]languages.html
- -rw-r--r-- 1 fdc kermit 5918 Mar 4 2003 [2259]latin1.html
- -rw-r--r-- 1 fdc kermit 4433 Mar 4 2003 [2260]latin2.html
- -rw-r--r-- 1 fdc kermit 6285 Mar 4 2003 [2261]latin3.html
- -rw-r--r-- 1 fdc kermit 6080 Mar 4 2003 [2262]latin4.html
- -rw-r--r-- 1 fdc kermit 5996 Mar 4 2003 [2263]latin9.html
- -rw-r--r-- 1 fdc kermit 313258 Nov 19 2009 [2264]lb2.jpg
- -rw-r--r-- 1 fdc kermit 12541 Nov 19 2009 [2265]lb3.jpg
- -rw-r--r-- 1 fdc kermit 12669 Mar 6 2010 [2266]lb3r.jpg
- -rw-r--r-- 1 fdc kermit 12025 Mar 6 2010 [2267]lb4.jpg
- -rw-r--r-- 1 fdc kermit 777 Jun 3 1995 [2268]left-icon-dim.g
- if
- -rw-r--r-- 1 fdc kermit 798 Jun 3 1995 [2269]left-icon.gif
- -rw-r--r-- 1 fdc kermit 8858 Aug 25 2019 [2270]licensing.html
- -rw-r--r-- 1 fdc kermit 5161 Sep 23 2011 [2271]links.html
- -rw-r--r-- 1 fdc kermit 4364 Jul 9 2000 [2272]links2go.gif
- -rw-r--r-- 1 fdc kermit 11858 Apr 17 2002 [2273]lion.jpg
- -rw-r--r-- 1 fdc kermit 19532 Aug 25 2019 [2274]locale.html
- -rw-r--r-- 1 fdc kermit 17814 Oct 15 2013 [2275]locale.html.~1~
- -rw-r--r-- 1 fdc kermit 17823 Nov 24 2013 [2276]locale.html.~2~
- -rw-r--r-- 1 fdc kermit 17826 Oct 26 2014 [2277]locale.html.~3~
- -rw-r--r-- 1 fdc kermit 7621 Aug 25 2019 [2278]logserial.html
- -rw-r--r-- 1 fdc kermit 27346 Apr 17 2002 [2279]low.jpg
- -rw-r--r-- 1 fdc kermit 28285 Jun 1 2002 [2280]lynx.gif
- -rw-r--r-- 1 fdc kermit 5607 Jun 4 2002 [2281]lynxsm.gif
- -rw-r--r-- 1 fdc kermit 1825 Mar 22 2002 [2282]m3d.gif
- -rw-r--r-- 1 fdc kermit 7043 Jul 10 2017 [2283]mac.html
- -rw-r--r-- 1 fdc kermit 5894 Sep 25 2014 [2284]mac.html.~1~
- -rw-r--r-- 1 fdc kermit 37494 Jul 10 2017 [2285]mackermit-160.j
- pg
- -rw-r--r-- 1 fdc kermit 2160085 Jul 10 2017 [2286]mackermit-1600.
- jpg
- -rw-r--r-- 1 fdc kermit 703604 Jul 10 2017 [2287]mackermit.hqx
- lrwxrwx--- 1 fdc kermit 13 Jul 10 2017 [2288]mackermithqx.tx
- t -> mackermit.hqx
- -rw-r--r-- 1 fdc kermit 4374 Sep 25 2014 [2289]maclatin.html
- -rw-r--r-- 1 fdc kermit 1057 Feb 28 1996 [2290]manning_logo.gi
- f
- -rw-rw-r-- 1 fdc kermit 15893 Jun 26 11:12 [2291]manuals.html
- -rw-rw-r-- 1 fdc kermit 14199 Aug 25 2019 [2292]manuals.html.~1
- 0~
- -rw-r--r-- 1 fdc kermit 13018 Oct 30 2013 [2293]manuals.html.~1
- ~
- -rw-r--r-- 1 fdc kermit 12975 Jun 5 2015 [2294]manuals.html.~2
- ~
- -rw-rw-r-- 1 fdc kermit 14194 Aug 24 2019 [2295]manuals.html.~9
- ~
- -rw-r--r-- 1 fdc kermit 6213 Apr 22 2017 [2296]maritimecollege
- .html
- -rw-r--r-- 1 fdc kermit 14114 May 13 2000 [2297]markus-utf8.htm
- l
- -rw-rw-r-- 1 fdc kermit 24167 Sep 12 2018 [2298]masonry.pkgd.mi
- n.js
- -rw-r--r-- 1 fdc kermit 26179 Mar 16 2015 [2299]masonry.pkgd.mi
- n.js_3.2.2
- -rw-r--r-- 1 fdc kermit 1850 Jan 9 1996 [2300]mastercard.gif
- -rw-r--r-- 1 fdc kermit 5953 Nov 12 1998 [2301]mazovia.html
- -rw-r--r-- 1 fdc kermit 5953 Nov 12 1998 [2302]mazovia2.html
- -rw-r--r-- 1 fdc kermit 24873 Mar 25 2002 [2303]mdms.gif
- -rw-r--r-- 1 fdc kermit 19569 Mar 25 2002 [2304]mdms2.gif
- -rw-r--r-- 1 fdc kermit 1209 Dec 30 2019 [2305]menu-en.html
- -rw-r--r-- 1 fdc kermit 1310 Mar 10 2011 [2306]menu-en.html.1
- -rw-r--r-- 1 fdc kermit 1310 Mar 10 2011 [2307]menu-en.html.~1
- ~
- -rw-r--r-- 1 fdc kermit 1448 Mar 10 2011 [2308]menu-es.html
- -rw-r--r-- 1 fdc kermit 1448 Mar 10 2011 [2309]menu-es.html.1
- -rw-r--r-- 1 fdc kermit 12192 Mar 27 2002 [2310]menu.gif
- lrwxrwx--- 1 fdc kermit 12 Dec 30 2019 [2311]menu.html -> me
- nu-en.html
- -rw-r--r-- 1 fdc kermit 2930 Mar 27 2002 [2312]menu_sm.gif
- -rw-r--r-- 1 fdc kermit 5391 Mar 27 2002 [2313]menubar.gif
- -rw-r--r-- 1 fdc kermit 30245 Jul 1 2000 [2314]metal.jpg
- -rw-r--r-- 1 fdc kermit 19839 Mar 27 2002 [2315]metro.gif
- -rw-r--r-- 1 fdc kermit 4651 Mar 27 2002 [2316]metro_sm.gif
- -rw-r--r-- 1 fdc kermit 32448 Jul 5 2013 [2317]misconceptions.
- html
- -rw-r--r-- 1 fdc kermit 5895 Sep 23 2011 [2318]mltbl.html
- lrwxrwx--- 1 fdc kermit 13 Feb 25 2018 [2319]mm.html -> mm/i
- ndex.html
- drwxr-xr-x 3 fdc kermit 15 Mar 14 2016 [2320]mm/
- -rw-r--r-- 1 fdc kermit 5350 Sep 23 2011 [2321]mobile.html
- -rw-r--r-- 1 fdc kermit 20512 Nov 28 2006 [2322]modemcable.jpg
- -rw-r--r-- 1 fdc kermit 1740 Sep 23 2011 [2323]moreinfo.html
- -rw-r--r-- 1 fdc kermit 1638 May 27 2019 [2324]moreorless.html
- -rw-r--r-- 1 fdc kermit 1639 May 27 2019 [2325]moreorless.html
- .~1~
- -rw-r--r-- 1 fdc kermit 21463 Jul 5 2013 [2326]mrzip.jpg
- -rw-r--r-- 1 fdc kermit 66856 Dec 6 1994 [2327]msbde.gif
- -rw-r--r-- 1 fdc kermit 11779 Dec 6 1994 [2328]msbde_.gif.cu
- -rw-r--r-- 1 fdc kermit 13778 Jan 25 1995 [2329]msbde_i.gif
- -rw-r--r-- 1 fdc kermit 12262 Dec 6 1994 [2330]msben_i.gif
- -rw-r--r-- 1 fdc kermit 14028 Dec 6 1994 [2331]msbfr_i.gif
- -rw-r--r-- 1 fdc kermit 2307169 Apr 29 2002 [2332]msbjp.jpg
- -rw-r--r-- 1 fdc kermit 33726 Apr 29 2002 [2333]msbjp_2.jpg
- -rw-r--r-- 1 fdc kermit 76614 Apr 29 2002 [2334]msbjp_3.jpg
- -rw-r--r-- 1 fdc kermit 10019 Dec 6 1994 [2335]msbjp_i.gif
- -rw-r--r-- 1 fdc kermit 9092 Mar 11 2011 [2336]msbook-strip-1-
- 080.jpg
- -rw-r--r-- 1 fdc kermit 13438 Mar 11 2011 [2337]msbook-strip-1-
- 100.jpg
- -rw-r--r-- 1 fdc kermit 25950 Mar 11 2011 [2338]msbook-strip-1-
- 150.jpg
- -rw-r--r-- 1 fdc kermit 40160 Mar 11 2011 [2339]msbook-strip-1-
- 200.jpg
- -rw-r--r-- 1 fdc kermit 71967 Mar 11 2011 [2340]msbook-strip-1-
- 280.jpg
- -rw-r--r-- 1 fdc kermit 252306 Dec 31 1995 [2341]msk1.gif
- -rw-r--r-- 1 fdc kermit 138644 Dec 31 1995 [2342]msk2.gif
- -rw-r--r-- 1 fdc kermit 14852 Aug 25 2019 [2343]msk30.html
- -rw-r--r-- 1 fdc kermit 11482 Sep 25 2014 [2344]msk314.html
- -rw-r--r-- 1 fdc kermit 15449 Sep 25 2014 [2345]msk315.html
- -rw-r--r-- 1 fdc kermit 5089 Sep 25 2014 [2346]msk316.html
- -rw-r--r-- 1 fdc kermit 4536 Jun 17 2017 [2347]msk95.html
- -rw-r--r-- 1 fdc kermit 3928 Sep 23 2011 [2348]msk95.html.~1~
- -rw-r--r-- 1 fdc kermit 116 Jul 27 2011 [2349]mskermit
- -rw-r--r-- 1 fdc kermit 16437 Sep 10 10:12 [2350]mskermit.html
- -rw-r--r-- 1 fdc kermit 15364 Sep 25 2014 [2351]mskermit.html.~
- 1~
- -rw-r--r-- 1 fdc kermit 15348 Sep 25 2014 [2352]mskermit.html.~
- 2~
- -rw-r--r-- 1 fdc kermit 15674 Aug 25 2019 [2353]mskermit.html.~
- 5~
- -rw-r--r-- 1 fdc kermit 16078 Sep 9 14:38 [2354]mskermit.html.~
- 6~
- -rw-r--r-- 1 fdc kermit 3079 Mar 11 2011 [2355]mskermit1e-100.
- jpg
- -rw-r--r-- 1 fdc kermit 6077 Mar 11 2011 [2356]mskermit1e-150.
- jpg
- -rw-r--r-- 1 fdc kermit 19147 Mar 11 2011 [2357]mskermit1e-280.
- jpg
- -rw-r--r-- 1 fdc kermit 70108 Mar 11 2011 [2358]mskermit1e-600.
- jpg
- -rw-r--r-- 1 fdc kermit 2488 Mar 11 2011 [2359]mskermit2e-100.
- jpg
- -rw-r--r-- 1 fdc kermit 4354 Mar 11 2011 [2360]mskermit2e-150.
- jpg
- -rw-r--r-- 1 fdc kermit 11137 Mar 11 2011 [2361]mskermit2e-280.
- jpg
- -rw-r--r-- 1 fdc kermit 33462 Mar 11 2011 [2362]mskermit2e-600.
- jpg
- -rw-r--r-- 1 fdc kermit 6760 Sep 9 2007 [2363]mskermitbook-11
- 5.jpg
- -rw-r--r-- 1 fdc kermit 11236 Sep 9 2007 [2364]mskermitbook-20
- 0.jpg
- -rw-r--r-- 1 fdc kermit 16617 Sep 9 2007 [2365]mskermitbook-30
- 0.jpg
- -rw-r--r-- 1 fdc kermit 39424 Sep 9 2007 [2366]mskermitbook-60
- 0.jpg
- -rw-r--r-- 1 fdc kermit 1719 Mar 10 2011 [2367]mskermitbook-80
- .jpg
- -rw-r--r-- 1 fdc kermit 192837 Sep 9 2007 [2368]mskermitbook.jp
- g
- -rw-r--r-- 1 fdc kermit 2393 Mar 11 2011 [2369]mskermitde-100.
- jpg
- -rw-r--r-- 1 fdc kermit 4128 Mar 11 2011 [2370]mskermitde-150.
- jpg
- -rw-r--r-- 1 fdc kermit 9933 Mar 11 2011 [2371]mskermitde-280.
- jpg
- -rw-r--r-- 1 fdc kermit 29962 Mar 11 2011 [2372]mskermitde-600.
- jpg
- -rw-r--r-- 1 fdc kermit 2439 Mar 11 2011 [2373]mskermitfr-100.
- jpg
- -rw-r--r-- 1 fdc kermit 4572 Mar 11 2011 [2374]mskermitfr-150.
- jpg
- -rw-r--r-- 1 fdc kermit 11692 Mar 11 2011 [2375]mskermitfr-280.
- jpg
- -rw-r--r-- 1 fdc kermit 35931 Mar 11 2011 [2376]mskermitfr-600.
- jpg
- -rw-r--r-- 1 fdc kermit 2056 Mar 11 2011 [2377]mskermitjp-100.
- jpg
- -rw-r--r-- 1 fdc kermit 3415 Mar 11 2011 [2378]mskermitjp-150.
- jpg
- -rw-r--r-- 1 fdc kermit 8542 Mar 11 2011 [2379]mskermitjp-280.
- jpg
- -rw-r--r-- 1 fdc kermit 27626 Mar 11 2011 [2380]mskermitjp-600.
- jpg
- -rw-r--r-- 1 fdc kermit 1120 Apr 16 1996 [2381]mskgraphics.htm
- l
- -rw-r--r-- 1 fdc kermit 4797 Sep 25 2014 [2382]mskorder.html
- -rw-r--r-- 1 fdc kermit 3753 Jul 11 2011 [2383]mskoverview.htm
- l
- -rw-r--r-- 1 fdc kermit 20116 Sep 27 2011 [2384]mskreviews.html
- -rw-r--r-- 1 fdc kermit 1136 Sep 23 2011 [2385]msksas.html
- -rw-r--r-- 1 fdc kermit 5307 Sep 25 2014 [2386]mskscripts.html
- -rw-r--r-- 1 fdc kermit 297 Sep 23 2011 [2387]mskwitten.html
- -rw-r--r-- 1 fdc kermit 10243 Feb 25 1996 [2388]mslogo3.gif
- -rw-r--r-- 1 fdc kermit 5553 Feb 25 1996 [2389]mslogo4.gif
- -rw-r--r-- 1 fdc kermit 7885 Sep 18 2013 [2390]museum-160.jpg
- -rw-r--r-- 1 fdc kermit 137918 Sep 10 2013 [2391]museum.jpg
- -rw-r--r-- 1 fdc kermit 206 Jan 12 1996 [2392]musthave.gif
- -rw-r--r-- 1 fdc kermit 9268 Dec 6 1994 [2393]nadc.gif
- -rw-r--r-- 1 fdc kermit 10805 Sep 25 2014 [2394]nasa.html
- -rw-r--r-- 1 fdc kermit 56069 Apr 21 2019 [2395]ndbw-strip1-140
- .jpg
- -rw-r--r-- 1 fdc kermit 34350 Apr 21 2019 [2396]ndbw-strip1-80.
- jpg
- -rw-r--r-- 1 fdc kermit 2657 Sep 25 2014 [2397]netnews.html
- -rw-r--r-- 1 fdc kermit 487792 Jul 27 14:04 [2398]new.html.~1~
- drwxr-xr-x 2 fdc kermit 26 Aug 24 2019 [2399]new/
- -rw-r--r-- 1 fdc kermit 57348 Nov 28 2010 [2400]newbugs.txt
- -rw-r--r-- 1 fdc kermit 63041 Apr 19 2017 [2401]newdaily.html.~
- 1~
- -rw-r--r-- 1 fdc kermit 63658 Apr 19 2017 [2402]newdaily.html.~
- 2~
- -rw-r--r-- 1 fdc kermit 299311 Jul 23 2014 [2403]newdeal.jpg
- lrwxrwxrwx 1 fdc kermit 14 Nov 24 2014 [2404]newdeal/
- -rw-r--r-- 1 fdc kermit 57877 Jan 13 2015 [2405]newdealgallery-
- 560.jpg
- -rw-r--r-- 1 fdc kermit 73116 Jan 13 2015 [2406]newdealgallery-
- 620.jpg
- -rw-r--r-- 1 fdc kermit 64003 Aug 14 2014 [2407]newdealgallery-
- 700.jpg
- -rw-r--r-- 1 fdc kermit 7386 Sep 23 2011 [2408]newdialer.html
- -rw-r--r-- 1 fdc kermit 23532 Sep 25 2014 [2409]newfaq.html
- -rw-r--r-- 1 fdc kermit 33386 Sep 27 2011 [2410]newftp.html
- -rw-r--r-- 1 fdc kermit 15703 Mar 12 2019 [2411]newftpclient-es
- .html
- -rw-r--r-- 1 fdc kermit 15380 Sep 25 2014 [2412]newftpclient-es
- .html.~1~
- -rw-rw-r-- 1 fdc kermit 36216 Apr 19 2019 [2413]newindex.html
- -rw-rw-r-- 1 fdc kermit 36111 Apr 19 2019 [2414]newindex.html.1
- -rw-rw-r-- 1 fdc kermit 36216 Apr 19 2019 [2415]newindex.html.2
- -rw-rw-r-- 1 fdc kermit 36285 Apr 20 2019 [2416]newindex.html.3
- -rw-rw-r-- 1 fdc kermit 36297 Apr 19 2019 [2417]newindex.html.3
- .~1~
- -rw-rw-r-- 1 fdc kermit 36285 Apr 19 2019 [2418]newindex.html.3
- .~2~
- -rw-rw-r-- 1 fdc kermit 37158 Apr 20 2019 [2419]newindex.html.4
- -rw-rw-r-- 1 fdc kermit 36818 Apr 20 2019 [2420]newindex.html.4
- .~1~
- -rw-rw-r-- 1 fdc kermit 37195 Apr 20 2019 [2421]newindex.html.4
- .~2~
- -rw-rw-r-- 1 fdc kermit 37758 Apr 20 2019 [2422]newindex.html.5
- -rw-rw-r-- 1 fdc kermit 38121 Apr 20 2019 [2423]newindex.html.5
- .~1~
- -rw-rw-r-- 1 fdc kermit 38388 Apr 21 2019 [2424]newindex.html.6
- -rw-rw-r-- 1 fdc kermit 37758 Apr 21 2019 [2425]newindex.html.6
- .~1~
- -rw-rw-r-- 1 fdc kermit 38312 Apr 21 2019 [2426]newindex.html.6
- .~2~
- -rw-rw-r-- 1 fdc kermit 31856 Dec 20 2017 [2427]newindex.html.~
- 1~
- -rw-rw-r-- 1 fdc kermit 35997 Mar 27 2019 [2428]newindex.html.~
- 2~
- -rw-rw-r-- 1 fdc kermit 36092 Apr 19 2019 [2429]newindex.html.~
- 5~
- -rw-rw-r-- 1 fdc kermit 36096 Apr 19 2019 [2430]newindex.html.~
- 6~
- -rw-r--r-- 1 fdc kermit 19412 Oct 6 2014 [2431]newk95.html.~1~
- -rw-r--r-- 1 fdc kermit 7683 Oct 6 2014 [2432]newk95.html.~2~
- -rw-r--r-- 1 fdc kermit 8468 Oct 7 2014 [2433]newk95.html.~3~
- drwxr-xr-x 2 fdc kermit 10 Oct 21 2015 [2434]newk95/
- -rw-r--r-- 1 fdc kermit 488743 Sep 6 2017 [2435]newnotes.html
- -rw-r--r-- 1 fdc kermit 95859 Jan 29 2020 [2436]newphotogallery
- .html.~11~
- -rw-r--r-- 1 fdc kermit 96250 Jan 30 2020 [2437]newphotogallery
- .html.~12~
- -rw-r--r-- 1 fdc kermit 103632 Jan 10 2020 [2438]newphotogallery
- .html.~1~
- -rw-r--r-- 1 fdc kermit 104053 Jan 18 2020 [2439]newphotogallery
- .html.~2~
- -rw-r--r-- 1 fdc kermit 3362 Sep 27 2011 [2440]news-gallery.ht
- ml
- -rw-r--r-- 1 fdc kermit 10564 Mar 11 2011 [2441]news-strip-1-10
- 0.jpg
- -rw-r--r-- 1 fdc kermit 21187 Mar 11 2011 [2442]news-strip-1-15
- 0.jpg
- -rw-r--r-- 1 fdc kermit 36095 Mar 11 2011 [2443]news-strip-1-20
- 0.jpg
- -rw-r--r-- 1 fdc kermit 64455 Mar 11 2011 [2444]news-strip-1-28
- 0.jpg
- -rw-r--r-- 1 fdc kermit 6189 Sep 25 2014 [2445]news.html
- -rw-r--r-- 1 fdc kermit 537903 Oct 19 2010 [2446]newsn1.pdf
- -rw-r--r-- 1 fdc kermit 1070959 Mar 11 2011 [2447]newsn2.pdf
- -rw-r--r-- 1 fdc kermit 76256 Mar 11 2011 [2448]newsn2.ps
- -rw-r--r-- 1 fdc kermit 37965 Mar 24 1995 [2449]newsn2.txt
- -rw-r--r-- 1 fdc kermit 40593 Sep 15 2010 [2450]newsn3.html
- -rw-r--r-- 1 fdc kermit 1047852 Mar 11 2011 [2451]newsn3.pdf
- -rw-r--r-- 1 fdc kermit 85867 Mar 11 2011 [2452]newsn3.ps
- -rw-r--r-- 1 fdc kermit 37381 Mar 24 1995 [2453]newsn3.txt
- -rw-r--r-- 1 fdc kermit 129292 Sep 23 2011 [2454]newsn4.html
- -rw-r--r-- 1 fdc kermit 229555 Oct 19 2010 [2455]newsn4.pdf
- -rw-r--r-- 1 fdc kermit 309014 Jan 26 1995 [2456]newsn4.ps
- -rw-r--r-- 1 fdc kermit 109098 Sep 23 2011 [2457]newsn5.html
- -rw-r--r-- 1 fdc kermit 227674 Oct 19 2010 [2458]newsn5.pdf
- -rw-r--r-- 1 fdc kermit 125956 Sep 25 2014 [2459]newsn6.html
- -rw-r--r-- 1 fdc kermit 237638 Oct 19 2010 [2460]newsn6.pdf
- -rw-r--r-- 1 fdc kermit 25798 Apr 21 2019 [2461]newtranslations
- .html
- -rw-r--r-- 1 fdc kermit 25113 Apr 18 2019 [2462]newtranslations
- .html.~1~
- -rw-r--r-- 1 fdc kermit 492706 Sep 18 14:05 [2463]newupdates.html
- .~1~
- -rw-r--r-- 1 fdc kermit 492699 Sep 18 14:08 [2464]newupdates.html
- .~2~
- -rw-r--r-- 1 fdc kermit 496551 Sep 19 16:45 [2465]newupdates.html
- .~6~
- -rw-r--r-- 1 fdc kermit 496785 Sep 19 16:48 [2466]newupdates.html
- .~7~
- -rw-r--r-- 1 fdc kermit 381902 Oct 2 2017 [2467]noconvertset=1
- -rw-r--r-- 1 fdc kermit 1664 Jul 24 2002 [2468]noexport.html
- -rw-r--r-- 1 fdc kermit 1613 Sep 21 2001 [2469]noexport.orig
- -rw-r--r-- 1 fdc kermit 4260 Sep 23 2011 [2470]nonusa.html
- -rw-r--r-- 1 fdc kermit 1159 Apr 21 2000 [2471]norway.gif
- -rw-r--r-- 1 fdc kermit 28399 Nov 28 2006 [2472]nullmodem-480.j
- pg
- -rw-r--r-- 1 fdc kermit 43461 Nov 28 2006 [2473]nullmodem.jpg
- -rw-r--r-- 1 fdc kermit 21710 Sep 18 2001 [2474]nyc.jpg
- -rw-r--r-- 1 fdc kermit 31438 Apr 21 2000 [2475]nyc005c.jpg
- -rw-r--r-- 1 fdc kermit 27819 Apr 21 2000 [2476]nyc008c.jpg
- -rw-r--r-- 1 fdc kermit 49364 Apr 21 2000 [2477]nyc010c.jpg
- -rw-r--r-- 1 fdc kermit 43842 Apr 21 2000 [2478]nyc010s.jpg
- -rw-r--r-- 1 fdc kermit 49364 Apr 21 2000 [2479]nyc010x.jpg
- -rw-r--r-- 1 fdc kermit 27086 Apr 21 2000 [2480]nyc020c.jpg
- -rw-r--r-- 1 fdc kermit 23361 Apr 21 2000 [2481]nyc022b.jpg
- -rw-r--r-- 1 fdc kermit 23361 Apr 21 2000 [2482]nyc022c.jpg
- -rw-r--r-- 1 fdc kermit 28873 Jun 13 2000 [2483]nyc024c.jpg
- -rw-r--r-- 1 fdc kermit 22459 Jun 3 2002 [2484]nyc025a.jpg
- -rw-r--r-- 1 fdc kermit 43117 Jun 21 2000 [2485]nyc037c.jpg
- -rw-r--r-- 1 fdc kermit 21710 Mar 22 2002 [2486]nyc051b.jpg
- -rw-r--r-- 1 fdc kermit 21789 Apr 20 2000 [2487]nyc051c.jpg
- -rw-r--r-- 1 fdc kermit 26626 Apr 21 2000 [2488]nyc053b.jpg
- -rw-r--r-- 1 fdc kermit 26615 Apr 21 2000 [2489]nyc053c.jpg
- -rw-r--r-- 1 fdc kermit 7095 Apr 20 2000 [2490]nyc055c.gif
- -rw-r--r-- 1 fdc kermit 25628 Apr 21 2000 [2491]nyc056b.jpg
- -rw-r--r-- 1 fdc kermit 25627 Apr 20 2000 [2492]nyc056c.jpg
- -rw-r--r-- 1 fdc kermit 23861 Apr 21 2000 [2493]nyc057c.jpg
- -rw-r--r-- 1 fdc kermit 26150 Apr 21 2000 [2494]nyc064b.jpg
- -rw-r--r-- 1 fdc kermit 26151 Apr 19 2000 [2495]nyc064c.jpg
- -rw-r--r-- 1 fdc kermit 13518 Jun 30 2000 [2496]nyc077c.jpg
- -rw-r--r-- 1 fdc kermit 18965 Jun 30 2000 [2497]nyc077x.jpg
- -rw-r--r-- 1 fdc kermit 41787 Apr 21 2000 [2498]nyc080c.jpg
- -rw-r--r-- 1 fdc kermit 13215 Apr 21 2000 [2499]nyc081x.jpg
- -rw-r--r-- 1 fdc kermit 29623 Jun 30 2000 [2500]nyc082c.jpg
- -rw-r--r-- 1 fdc kermit 25883 Jun 21 2000 [2501]nyc083c.jpg
- -rw-r--r-- 1 fdc kermit 16548 Jun 30 2000 [2502]nyc089c.jpg
- -rw-r--r-- 1 fdc kermit 23815 Apr 21 2000 [2503]nyc092c.jpg
- -rw-r--r-- 1 fdc kermit 11206 Jul 3 2000 [2504]nyc093c.jpg
- -rw-r--r-- 1 fdc kermit 20495 Jul 3 2000 [2505]nyc2000.jpg
- -rw-r--r-- 1 fdc kermit 25459 Jun 4 2002 [2506]ocolors.gif
- -rw-r--r-- 1 fdc kermit 5526 Jun 4 2002 [2507]ocolorssm.gif
- -rw-r--r-- 1 fdc kermit 2454 Sep 30 1996 [2508]oe-pgs.gif
- -rw-r--r-- 1 fdc kermit 14358 Mar 9 2006 [2509]oechtringen-sm.
- jpg
- -rw-r--r-- 1 fdc kermit 14318 Sep 23 2011 [2510]old-manuals.htm
- l
- -rw-r--r-- 1 fdc kermit 16987 Sep 25 2014 [2511]old-support.htm
- l
- -rw-r--r-- 1 fdc kermit 5350 Sep 27 2011 [2512]old-vendor.html
- drwxr-xr-x 3 fdc kermit 31 Sep 23 2011 [2513]old/
- -rw-r--r-- 1 fdc kermit 5219 Sep 23 2011 [2514]oldfaq.html
- -rw-r--r-- 1 fdc kermit 11367 Jul 11 2011 [2515]oldlinks.html
- -rw-r--r-- 1 fdc kermit 21922 Sep 23 2011 [2516]oldperf.html
- -rw-r--r-- 1 fdc kermit 14102 Sep 23 2011 [2517]omanuals.html
- -rw-r--r-- 1 fdc kermit 5241 Jun 24 2010 [2518]omnibus.html
- drwxr-xr-x 3 fdc kermit 13 Sep 9 14:12 [2519]onlinebooks/
- -rw-r--r-- 1 fdc kermit 2063 Jan 7 2000 [2520]openssl_button.
- gif
- -rw-r--r-- 1 fdc kermit 239 Jul 1 2011 [2521]openssl_button.
- html
- -rw-r--r-- 1 fdc kermit 263711 Feb 10 2019 [2522]optimumad3.jpg
- -rw-r--r-- 1 fdc kermit 2209 May 20 1999 [2523]original-search
- .html
- -rw-r--r-- 1 fdc kermit 4031 Sep 23 2011 [2524]os2.html
- -rw-r--r-- 1 fdc kermit 4646 Sep 23 2011 [2525]os2beta.html
- -rw-r--r-- 1 fdc kermit 1096 Sep 23 2011 [2526]os2bug.html
- -rw-r--r-- 1 fdc kermit 2647 Mar 18 1997 [2527]os2computing.ht
- ml
- -rw-r--r-- 1 fdc kermit 162411 Feb 12 1997 [2528]os2k95-1.gif
- -rw-r--r-- 1 fdc kermit 160628 Feb 12 1997 [2529]os2k95-2.gif
- -rw-r--r-- 1 fdc kermit 4478 Sep 25 2014 [2530]os2new.html
- -rw-r--r-- 1 fdc kermit 3016 Sep 25 2014 [2531]os2order.html
- -rw-r--r-- 1 fdc kermit 4596 Sep 23 2011 [2532]os2reviews.html
- -rw-r--r-- 1 fdc kermit 286 Sep 23 2011 [2533]os2shots.html
- -rw-r--r-- 1 fdc kermit 3098 Sep 23 2011 [2534]os2specs.html
- -rw-r--r-- 1 fdc kermit 2839 Sep 25 2014 [2535]other.html
- drwxr-xr-x 2 fdc kermit 5 Aug 25 2019 [2536]other/
- drwxr-xr-x 2 fdc kermit 117 Mar 3 2018 [2537]oval/
- -rw-r--r-- 1 fdc kermit 269031 Sep 10 2017 [2538]oval80letter.jp
- g
- -rw-r--r-- 1 fdc kermit 29841 Mar 31 2003 [2539]pace-1.html
- -rw-r--r-- 1 fdc kermit 36230 Apr 8 2003 [2540]pace-2.html
- -rw-r--r-- 1 fdc kermit 42725 Mar 26 2003 [2541]pace.gif
- -rw-r--r-- 1 fdc kermit 670 Apr 10 2003 [2542]pace.html
- -rw-r--r-- 1 fdc kermit 86414 Apr 7 2003 [2543]pace2.gif
- -rw-r--r-- 1 fdc kermit 8877 Mar 31 2003 [2544]pace_sm.gif
- -rw-r--r-- 1 fdc kermit 7019 Sep 23 2011 [2545]pagers.html
- -rw-r--r-- 1 fdc kermit 19365 Dec 24 1996 [2546]palace.jpg
- -rw-r--r-- 1 fdc kermit 48102 Mar 25 2002 [2547]pan.gif
- -rw-r--r-- 1 fdc kermit 69076 Mar 28 2002 [2548]pan2.gif
- -rw-r--r-- 1 fdc kermit 27191 Mar 28 2002 [2549]pan2_s.gif
- -rw-r--r-- 1 fdc kermit 93949 Jun 16 2005 [2550]pan3-sm.jpg
- -rw-r--r-- 1 fdc kermit 96419 Jun 2 2002 [2551]pan3.gif
- -rw-r--r-- 1 fdc kermit 37440 Jun 2 2002 [2552]pan3_sm.gif
- -rw-r--r-- 1 fdc kermit 15682 Mar 25 2002 [2553]pan_7.gif
- -rw-r--r-- 1 fdc kermit 20138 Mar 25 2002 [2554]pan_8.gif
- -rw-r--r-- 1 fdc kermit 123837 Apr 16 2001 [2555]pano.gif
- -rw-r--r-- 1 fdc kermit 85434 Apr 17 2001 [2556]pano2.jpg
- -rw-r--r-- 1 fdc kermit 1857 Sep 23 2011 [2557]panorama.html
- -rw-r--r-- 1 fdc kermit 2134 Sep 25 2014 [2558]papers.html
- -rw-r--r-- 1 fdc kermit 994 Sep 26 2001 [2559]paradigms.html
- drwxr-xr-x 2 fdc kermit 10 Jul 31 11:57 [2560]paypal/
- drw-r--r-- 2 fdc kermit 2 Mar 23 2017 [2561]pcgi-bin/
- -rw-r--r-- 1 fdc kermit 16640 Mar 9 1984 [2562]pckermit.exe
- -rw-r--r-- 1 fdc kermit 7610 Sep 23 2011 [2563]pcunix.html
- -rw-r--r-- 1 fdc kermit 32038 Nov 2 2013 [2564]pdc.ico
- -rw-r--r-- 1 fdc kermit 15094 Sep 25 2014 [2565]pdp10-134.html
- -rw-r--r-- 1 fdc kermit 42764 Mar 17 2011 [2566]pdp10-strip1-12
- 0.jpg
- -rw-r--r-- 1 fdc kermit 68555 Mar 17 2011 [2567]pdp10-strip1-16
- 0.jpg
- -rw-r--r-- 1 fdc kermit 20547 Jan 14 2017 [2568]pdp10.html
- -rw-r--r-- 1 fdc kermit 18645 Sep 25 2014 [2569]pdp10.html.~1~
- -rw-r--r-- 1 fdc kermit 19157 May 1 2015 [2570]pdp10.html.~2~
- -rw-r--r-- 1 fdc kermit 19386 Jan 13 2017 [2571]pdp10.html.~3~
- -rw-r--r-- 1 fdc kermit 53437 Mar 17 2011 [2572]pdp11-strip1-12
- 0.jpg
- -rw-r--r-- 1 fdc kermit 84120 Mar 17 2011 [2573]pdp11-strip1-16
- 0.jpg
- -rw-r--r-- 1 fdc kermit 22291 Sep 25 2014 [2574]pdp11.html
- -rw-r--r-- 1 fdc kermit 488092 Dec 20 2006 [2575]pdp11.txt
- drwxr-xr-x 2 fdc kermit 3 Mar 26 2001 [2576]pdp11/
- -rw-r--r-- 1 fdc kermit 52912 Sep 18 2013 [2577]pdp1150-r.jpg
- -rw-r--r-- 1 fdc kermit 9124 Sep 18 2013 [2578]pdp1150-t.jpg
- -rw-r--r-- 1 fdc kermit 1196 Sep 18 2013 [2579]pdp1150.html
- -rw-r--r-- 1 fdc kermit 75471 Feb 11 2001 [2580]pdp1150.jpg
- -rw-r--r-- 1 fdc kermit 60074 Feb 11 2001 [2581]pdp1170.jpg
- -rw-r--r-- 1 fdc kermit 258631 Mar 19 2003 [2582]pdp12-1.gif
- -rw-r--r-- 1 fdc kermit 2321166 Mar 19 2003 [2583]pdp12-1.jpg
- -rw-r--r-- 1 fdc kermit 263086 Mar 19 2003 [2584]pdp12-2.gif
- -rw-r--r-- 1 fdc kermit 2337908 Mar 19 2003 [2585]pdp12-2.jpg
- -rw-r--r-- 1 fdc kermit 8629 Sep 25 2014 [2586]pdp12.html
- -rw-r--r-- 1 fdc kermit 29141 Jun 1 2003 [2587]pdp12.jpg
- -rw-r--r-- 1 fdc kermit 7176 Mar 19 2003 [2588]pdp8-1.jpg
- -rw-r--r-- 1 fdc kermit 5547 Mar 19 2003 [2589]pdp8-2.jpg
- -rw-r--r-- 1 fdc kermit 6349 Mar 19 2003 [2590]pdp8-3.jpg
- -rw-r--r-- 1 fdc kermit 32733 Jun 1 2003 [2591]pdp8-l.jpg
- -rw-r--r-- 1 fdc kermit 30971 Mar 17 2011 [2592]pdp8-strip1-120
- .jpg
- -rw-r--r-- 1 fdc kermit 50493 Mar 17 2011 [2593]pdp8-strip1-160
- .jpg
- -rw-r--r-- 1 fdc kermit 151502 Mar 17 2011 [2594]pdp8-strip1-300
- .jpg
- -rw-r--r-- 1 fdc kermit 8629 Sep 25 2014 [2595]pdp8.html
- -rw-r--r-- 1 fdc kermit 60881 Mar 19 2003 [2596]pdp8.jpg
- -rw-r--r-- 1 fdc kermit 53490 Mar 21 2004 [2597]pdp8m1.jpg
- -rw-r--r-- 1 fdc kermit 64581 Mar 21 2004 [2598]pdp8m2.jpg
- -rw-r--r-- 1 fdc kermit 55392 Mar 21 2004 [2599]pdp8m3.jpg
- -rw-r--r-- 1 fdc kermit 72847 Mar 21 2004 [2600]pdp8m4.jpg
- -rw-r--r-- 1 fdc kermit 33936 Mar 21 2004 [2601]pdp8m5.gif
- -rw-r--r-- 1 fdc kermit 44461 Mar 21 2004 [2602]pdp8m6.jpg
- -rw-r--r-- 1 fdc kermit 30124 May 3 2017 [2603]perf.html
- lrwxrwxrwx 1 fdc kermit 3 Nov 2 2013 [2604]peter -> pdc
- -rw-r--r-- 1 fdc kermit 21502 Sep 25 2014 [2605]petere.html
- -rw-rw---- 1 fdc kermit 94528512 Jul 13 15:10 [2606]pg300.tar
- drwxr-xr-x 6 fdc kermit 132 Jul 13 15:37 [2607]pg300/
- -rw-r--r-- 1 fdc kermit 97186 Sep 15 17:00 [2608]photogallery.ht
- ml
- -rw-r--r-- 1 fdc kermit 85889 May 27 2019 [2609]photogallery.ht
- ml.1
- -rw-r--r-- 1 fdc kermit 86322 May 27 2019 [2610]photogallery.ht
- ml.2
- -rw-r--r-- 1 fdc kermit 96754 Oct 8 2019 [2611]photogallery.ht
- ml.3
- -rw-r--r-- 1 fdc kermit 103632 Jan 10 2020 [2612]photogallery.ht
- ml.4
- -rw-r--r-- 1 fdc kermit 103646 Jan 23 2020 [2613]photogallery.ht
- ml.5
- -rw-r--r-- 1 fdc kermit 66104 Oct 20 2013 [2614]photogallery.ht
- ml.~1~
- -rw-r--r-- 1 fdc kermit 66107 Jan 5 2014 [2615]photogallery.ht
- ml.~2~
- -rw-r--r-- 1 fdc kermit 96785 Jul 13 15:05 [2616]photogallery.ht
- ml.~60~
- -rw-r--r-- 1 fdc kermit 96787 Sep 4 14:27 [2617]photogallery.ht
- ml.~61~
- -rw-r--r-- 1 fdc kermit 40365 Sep 4 2013 [2618]photogallery100
- .html
- drwxr-xr-x 2 fdc kermit 19 Jul 21 2017 [2619]picinfo/
- -rw-r--r-- 1 fdc kermit 2803 Nov 12 1998 [2620]plchars.html
- drwxr-xr-x 2 fdc kermit 3 Feb 14 2015 [2621]polski/
- -rw-r--r-- 1 fdc kermit 1048 Sep 23 2011 [2622]portable.html
- -rw-r--r-- 1 fdc kermit 1312 Apr 21 2000 [2623]portugal.gif
- -rw-rw-r-- 1 fdc kermit 42091 Jul 30 13:47 [2624]ppindex.html.~1
- ~
- -rw-rw-r-- 1 fdc kermit 41644 Jul 30 16:07 [2625]ppindex.html.~2
- ~
- -rw-r--r-- 1 fdc kermit 1615 Jun 5 2002 [2626]pre-enc-noexpor
- t.html
- -rw-r--r-- 1 fdc kermit 6182 Aug 25 2019 [2627]proof.html
- -rw-r--r-- 1 fdc kermit 384400 Oct 18 2010 [2628]proof.pdf
- -rw-r--r-- 1 fdc kermit 3302 May 13 2004 [2629]r.html
- -rw-r--r-- 1 fdc kermit 8946 Apr 22 2017 [2630]redhook.html
- lrwxrwxrwx 1 fdc kermit 16 Mar 27 2003 [2631]register.html -
- > k95download.html
- -rw-r--r-- 1 fdc kermit 6746 Sep 25 2014 [2632]register_nokits
- .html
- -rw-r--r-- 1 fdc kermit 13058 Jan 11 2020 [2633]remind.html
- -rw-r--r-- 1 fdc kermit 9156 Feb 25 2014 [2634]remind.html.~1~
- -rw-r--r-- 1 fdc kermit 12260 Jan 17 2016 [2635]remind.html.~2~
- -rw-r--r-- 1 fdc kermit 12683 Feb 6 2016 [2636]remind.html.~3~
- -rw-r--r-- 1 fdc kermit 11492 Jan 17 2016 [2637]remind1.html
- -rw-r--r-- 1 fdc kermit 14846 Apr 27 2017 [2638]replacetextbloc
- k.html
- -rw-r--r-- 1 fdc kermit 9156 Feb 25 2014 [2639]replacetextbloc
- k.html.~1~
- -rw-r--r-- 1 fdc kermit 12835 Feb 27 2014 [2640]replacetextbloc
- k.html.~2~
- -rw-r--r-- 1 fdc kermit 14845 Feb 28 2014 [2641]replacetextbloc
- k.html.~3~
- -rw-r--r-- 1 fdc kermit 14845 Jun 30 2015 [2642]replacetextbloc
- k.html.~4~
- -rw-r--r-- 1 fdc kermit 2954 Jul 11 2011 [2643]rfc2839a.html
- -rw-r--r-- 1 fdc kermit 2281 Jul 14 2000 [2644]rfc2840a.html
- -rw-r--r-- 1 fdc kermit 106299 Apr 11 1988 [2645]rfc822.txt
- -rw-r--r-- 1 fdc kermit 795 Jun 3 1995 [2646]right-icon-dim.
- gif
- -rw-r--r-- 1 fdc kermit 1028 Jun 3 1995 [2647]right-icon.gif
- -rw-r--r-- 1 fdc kermit 44566 Dec 7 2002 [2648]river.jpg
- -rw-r--r-- 1 fdc kermit 6430 Aug 17 1997 [2649]rms.html
- -rw-r--r-- 1 fdc kermit 121 Feb 25 2018 [2650]robots.txt
- -rw-r--r-- 1 fdc kermit 121 Mar 23 2017 [2651]robots.txt.~1~
- -rw-r--r-- 1 fdc kermit 2302 Sep 23 2011 [2652]rpm.html
- -rw-r--r-- 1 fdc kermit 969370 Apr 29 2002 [2653]russian.jpg
- -rw-r--r-- 1 fdc kermit 7624 Sep 23 2011 [2654]s2.html
- -rw-r--r-- 1 fdc kermit 56275 Sep 25 2014 [2655]safe.html
- drwxr-xr-x 2 fdc kermit 16 Sep 23 2011 [2656]sanskrit/
- drwxr-xr-x 2 fdc kermit 179 Aug 25 2019 [2657]save/
- -rw-r--r-- 1 fdc kermit 3335 Sep 27 2011 [2658]scriptlib.html
- -rw-r--r-- 1 fdc kermit 2381 Feb 17 2016 [2659]scriptlicense.h
- tml
- -rw-r--r-- 1 fdc kermit 2367 Aug 17 2013 [2660]scriptlicense.h
- tml.~1~
- -rw-r--r-- 1 fdc kermit 31993 Sep 23 2011 [2661]scriptref.html
- lrwxrwxrwx 1 fdc kermit 14 Sep 27 2011 [2662]scripts.html ->
- ckscripts.html
- -rw-r--r-- 1 fdc kermit 17191 Jul 11 2011 [2663]scroll.html
- -rw-r--r-- 1 fdc kermit 3313 Sep 23 2011 [2664]sdk.html
- -rw-r--r-- 1 fdc kermit 2039 Oct 20 2005 [2665]search.html
- -rw-r--r-- 1 fdc kermit 14925 Jan 26 2020 [2666]secure.html
- -rw-r--r-- 1 fdc kermit 12487 Dec 30 2019 [2667]secure.html.bac
- kup
- -rw-r--r-- 1 fdc kermit 300936 May 12 2017 [2668]security.html
- -rw-r--r-- 1 fdc kermit 300546 Sep 25 2014 [2669]security.html.~
- 1~
- -rw-r--r-- 1 fdc kermit 300907 Apr 27 2017 [2670]security.html.~
- 2~
- -rw-r--r-- 1 fdc kermit 1015 Dec 6 1994 [2671]shield.gif
- -rw-r--r-- 1 fdc kermit 3029 Sep 23 2011 [2672]shipping.html
- -rw-r--r-- 1 fdc kermit 9032 Apr 17 2000 [2673]shippinghtml.ol
- d
- -rw-r--r-- 1 fdc kermit 426 Apr 16 1996 [2674]shots.html
- -rw-r--r-- 1 fdc kermit 1422 Jul 23 1999 [2675]siia.gif
- -rw-r--r-- 1 fdc kermit 2160 Jul 23 1999 [2676]siia2.gif
- -rw-r--r-- 1 fdc kermit 1093 Jul 23 1999 [2677]siia3.gif
- -rw-r--r-- 1 fdc kermit 2529 Feb 17 2000 [2678]siia4.gif
- -rw-r--r-- 1 fdc kermit 2338 Jul 23 1999 [2679]siiatext.gif
- -rw-r--r-- 1 fdc kermit 4605 Jan 15 1996 [2680]site.idx
- -rw-r--r-- 1 fdc kermit 13300 Sep 17 01:24 [2681]sitemap.ante
- -rw-r--r-- 1 fdc kermit 13300 Sep 18 07:23 [2682]sitemap.ayer
- -rw-r--r-- 1 fdc kermit 12653 Apr 1 2019 [2683]sitemap.save
- -rw-r--r-- 1 fdc kermit 13300 Sep 19 07:31 [2684]sitemap.xml
- -rw-r--r-- 1 fdc kermit 26257 Sep 23 2011 [2685]skermit.html
- -rw-r--r-- 1 fdc kermit 641750 Mar 25 2002 [2686]sni02.jpg
- -rw-r--r-- 1 fdc kermit 63552 Apr 1 2002 [2687]sni03.jpg
- -rw-r--r-- 1 fdc kermit 2832 Mar 25 2002 [2688]sni2_05.jpg
- -rw-r--r-- 1 fdc kermit 3148 Mar 25 2002 [2689]sni_05.jpg
- -rw-r--r-- 1 fdc kermit 2377 Feb 28 2003 [2690]softchoice.gif
- -rw-r--r-- 1 fdc kermit 16877 Mar 20 2016 [2691]sorttable.js
- -rw-r--r-- 1 fdc kermit 5269 Dec 30 1995 [2692]spa.gif
- -rw-r--r-- 1 fdc kermit 2928 Jan 2 1996 [2693]spa_sml.gif
- -rw-r--r-- 1 fdc kermit 1930 Sep 23 2011 [2694]ssh.html
- lrwxrwx--- 1 fdc kermit 14 Feb 25 2018 [2695]sshclien.html -
- > sshclient.html
- -rw-r--r-- 1 fdc kermit 65233 Oct 15 2010 [2696]sshclient-be.ht
- m
- -rw-r--r-- 1 fdc kermit 65382 Sep 23 2011 [2697]sshclient-be.ht
- ml
- -rw-r--r-- 1 fdc kermit 44129 Mar 27 2019 [2698]sshclient.html
- -rw-r--r-- 1 fdc kermit 42505 Sep 27 2011 [2699]sshclient.html.
- ~1~
- -rw-r--r-- 1 fdc kermit 43733 Apr 11 2014 [2700]sshclient.html.
- ~2~
- -rw-r--r-- 1 fdc kermit 43838 Feb 14 2015 [2701]sshclient.html.
- ~3~
- -rw-r--r-- 1 fdc kermit 44128 Feb 15 2019 [2702]sshclient.html.
- ~4~
- -rw-r--r-- 1 fdc kermit 42449 Oct 15 2010 [2703]sshclient.utf8
- -rw-r--r-- 1 fdc kermit 10710 Aug 12 2002 [2704]st-erkenwald.gi
- f
- -rw-r--r-- 1 fdc kermit 9272 Sep 25 2014 [2705]st-erkenwald.ht
- ml
- -rw-r--r-- 1 fdc kermit 8120 Sep 25 2014 [2706]standards.html
- drwxr-xr-x 2 fdc kermit 5 Feb 25 2020 [2707]stats/
- -rw-r--r-- 1 fdc kermit 1060 Jul 9 2002 [2708]stgeorge.gif
- -rw-r--r-- 1 fdc kermit 114122 Sep 22 2003 [2709]sts.jpg
- -rw-r--r-- 1 fdc kermit 2611 Sep 23 2011 [2710]studies.html
- -rw-r--r-- 1 fdc kermit 53514 Apr 29 2011 [2711]superbrain-2011
- -280.jpg
- -rw-r--r-- 1 fdc kermit 128282 Apr 29 2011 [2712]superbrain-2011
- -740.jpg
- -rw-r--r-- 1 fdc kermit 950 Apr 29 2011 [2713]superbrain-2011
- .html
- -rw-r--r-- 1 fdc kermit 906858 Apr 29 2011 [2714]superbrain-2011
- .jpg
- -rw-r--r-- 1 fdc kermit 36157 Jun 17 2017 [2715]superbrain03-28
- 0.jpg
- -rw-r--r-- 1 fdc kermit 63100 Jul 15 2011 [2716]superbrain03-74
- 0.jpg
- -rw-r--r-- 1 fdc kermit 25592 Sep 25 2014 [2717]support.html
- -rw-r--r-- 1 fdc kermit 17088 Dec 9 1994 [2718]surface.gif
- -rw-r--r-- 1 fdc kermit 2191 Dec 9 1994 [2719]surface_i.gif
- drwxr-xr-x 2 fdc kermit 3 Sep 23 2011 [2720]survey/
- -rw-r--r-- 1 fdc kermit 1286 Apr 30 2017 [2721]t2.html
- -rw-r--r-- 1 fdc kermit 237 Sep 8 2013 [2722]tail.html
- -rw-r--r-- 1 fdc kermit 230 Sep 8 2013 [2723]tail2.html
- -rw-r--r-- 1 fdc kermit 63095 Aug 1 2019 [2724]telnet.html
- -rw-r--r-- 1 fdc kermit 63082 Sep 27 2011 [2725]telnet.html.~1~
- lrwxrwxrwx 1 fdc kermit 11 Sep 27 2011 [2726]telnet70.html -
- > telnet.html
- lrwxrwxrwx 1 fdc kermit 11 Sep 27 2011 [2727]telnet80.html -
- > telnet.html
- -rw-r--r-- 1 fdc kermit 3482 Sep 23 2011 [2728]telnetd.html
- -rw-r--r-- 1 fdc kermit 4671 Jul 31 2019 [2729]template.html
- -rw-r--r-- 1 fdc kermit 4080 Jul 27 2019 [2730]template.html.~
- 1~
- -rw-r--r-- 1 fdc kermit 4348 Jul 27 2019 [2731]template.html.~
- 2~
- -rw-r--r-- 1 fdc kermit 4330 Jul 27 2019 [2732]template.html.~
- 3~
- -rw-r--r-- 1 fdc kermit 4646 Jul 29 2019 [2733]template.html.~
- 4~
- -rw-r--r-- 1 fdc kermit 36987 Mar 15 2011 [2734]terminal-strip-
- 100.jpg
- -rw-r--r-- 1 fdc kermit 49486 Mar 15 2011 [2735]terminal-strip-
- 120.jpg
- -rw-r--r-- 1 fdc kermit 25446 Mar 15 2011 [2736]terminal-strip-
- 80.jpg
- -rw-r--r-- 1 fdc kermit 23515 Mar 15 2011 [2737]terminal-strip2
- -120.jpg
- -rw-r--r-- 1 fdc kermit 42469 Mar 15 2011 [2738]terminal-strip3
- -120.jpg
- -rw-r--r-- 1 fdc kermit 9652 Jan 3 2020 [2739]terminals.html
- -rw-r--r-- 1 fdc kermit 9534 Sep 23 2011 [2740]terminals.html.
- ~1~
- -rw-r--r-- 1 fdc kermit 9387 Feb 21 2014 [2741]terminals.html.
- ~2~
- -rw-r--r-- 1 fdc kermit 14354 Mar 25 2002 [2742]terminals.jpg
- -rw-r--r-- 1 fdc kermit 13972 Mar 25 2002 [2743]terms2.jpg
- -rw-r--r-- 1 fdc kermit 15647 Mar 25 2002 [2744]terms3.jpg
- -rw-r--r-- 1 fdc kermit 12901 Jul 11 2011 [2745]termtype.html
- -rw-r--r-- 1 fdc kermit 9505 Nov 19 2009 [2746]test.gif
- -rw-r--r-- 1 fdc kermit 142 Mar 20 2002 [2747]test.html
- drwxr-xr-x 2 fdc kermit 2 Sep 23 2011 [2748]test/
- -rw-r--r-- 1 fdc kermit 25029 Jul 3 2000 [2749]test1.jpg
- -rw-r--r-- 1 fdc kermit 9534 Nov 19 2009 [2750]test2.gif
- -rw-r--r-- 1 fdc kermit 9355 Nov 19 2009 [2751]test3.gif
- -rw-r--r-- 1 fdc kermit 9346 Nov 19 2009 [2752]test4.gif
- -rw-r--r-- 1 fdc kermit 9340 Nov 19 2009 [2753]test5.gif
- -rw-r--r-- 1 fdc kermit 9307 Nov 19 2009 [2754]test6.gif
- -rw-r--r-- 1 fdc kermit 3154 Feb 23 2009 [2755]testing.html
- drwxr-xr-x 2 fdc kermit 2 Mar 2 2018 [2756]testing/
- -rw-r--r-- 1 fdc kermit 10407 Dec 12 1994 [2757]texmap.gif
- -rw-r--r-- 1 fdc kermit 1486 Dec 12 1994 [2758]texmap_i.gif
- -rw-r--r-- 1 fdc kermit 33414 Apr 20 12:37 [2759]timeline.html
- -rw-r--r-- 1 fdc kermit 32897 Aug 25 2019 [2760]timeline.html.~
- 1~
- drwxr-xr-x 2 fdc kermit 18 Jan 16 2020 [2761]tmp/
- drwxr-xr-x 3 fdc kermit 87 Jan 28 2020 [2762]tmp2/
- drwxr-xr-x 3 fdc kermit 19 Feb 1 2020 [2763]tmp3/
- drwxr-xr-x 2 fdc kermit 3 Oct 20 2013 [2764]tmp4/
- drwxr-xr-x 2 fdc kermit 950 Jan 31 2020 [2765]tmp5/
- drwxr-xr-x 2 fdc kermit 2 Jul 19 2011 [2766]tmp9/
- -rw-r--r-- 1 fdc kermit 62219 Sep 14 2010 [2767]toys.jpg
- -rw-rw-r-- 1 fdc kermit 9466 Feb 7 2019 [2768]tr.html.~1~
- -rw-r--r-- 1 fdc kermit 22060 Jun 21 2000 [2769]train02.jpg
- -rw-r--r-- 1 fdc kermit 40081 Jul 25 12:54 [2770]translations.ht
- ml
- -rw-r--r-- 1 fdc kermit 9140 Feb 6 2019 [2771]translations.ht
- ml-backup
- -rw-r--r-- 1 fdc kermit 8656 Feb 6 2019 [2772]translations.ht
- ml.1
- -rw-r--r-- 1 fdc kermit 25113 Apr 18 2019 [2773]translations.ht
- ml.2
- -rw-r--r-- 1 fdc kermit 32158 Aug 4 2019 [2774]translations.ht
- ml.3
- -rw-rw---- 1 fdc kermit 1551 Jan 31 2019 [2775]translations.ht
- ml.~1~
- -rw-r--r-- 1 fdc kermit 6616 Jan 31 2019 [2776]translations.ht
- ml.~2~
- -rw-r--r-- 1 fdc kermit 39813 Jul 14 12:18 [2777]translations.ht
- ml.~92~
- -rw-r--r-- 1 fdc kermit 39892 Jul 22 16:35 [2778]translations.ht
- ml.~93~
- -rwxrwx--- 1 fdc kermit 809 Dec 24 2019 [2779]translations.ks
- c
- -rw-rw---- 1 fdc kermit 474 Aug 21 2019 [2780]translations.ks
- c.~1~
- -rwxrwx--- 1 fdc kermit 777 Aug 21 2019 [2781]translations.ks
- c.~2~
- -rw-r--r-- 1 fdc kermit 71982 Dec 7 2002 [2782]ts1.jpg
- -rw-r--r-- 1 fdc kermit 79036 Dec 7 2002 [2783]ts3.jpg
- -rw-r--r-- 1 fdc kermit 67007 Dec 7 2002 [2784]ts4.jpg
- -rw-r--r-- 1 fdc kermit 27557 Sep 27 2011 [2785]tsreviews.html
- -rw-rw-r-- 1 fdc kermit 41616 Sep 14 15:25 [2786]tt.html.~1~
- -rw-r--r-- 1 fdc kermit 10309 Feb 20 2006 [2787]ttype.jpg
- -rw-r--r-- 1 fdc kermit 18997 Feb 25 1996 [2788]tu_cows.gif
- -rw-r--r-- 1 fdc kermit 6241 Jan 15 1996 [2789]tu_cows.old.gif
- -rw-r--r-- 1 fdc kermit 1666 Jan 12 1996 [2790]tucows.gif
- -rw-r--r-- 1 fdc kermit 77160 Jan 15 1996 [2791]tucowsreview.gi
- f
- -rw-rw---- 1 fdc kermit 24557 Mar 27 2019 [2792]tx.html
- -rw-r--r-- 1 fdc kermit 41650 Jan 31 2020 [2793]uckindex.html
- -rw-r--r-- 1 fdc kermit 28491 Jul 27 2019 [2794]uckindex.html.1
- -rw-r--r-- 1 fdc kermit 30590 Jul 27 2019 [2795]uckindex.html.2
- -rw-r--r-- 1 fdc kermit 41318 Aug 17 2019 [2796]uckindex.html.~
- 10~
- -rw-r--r-- 1 fdc kermit 41332 Aug 19 2019 [2797]uckindex.html.~
- 11~
- -rw-r--r-- 1 fdc kermit 5567 Jul 27 2019 [2798]uckindex.html.~
- 1~
- -rw-r--r-- 1 fdc kermit 30695 Jul 27 2019 [2799]uckindex.html.~
- 2~
- -rw-r--r-- 1 fdc kermit 19998 Jan 6 2002 [2800]ucompose.gif
- -rw-r--r-- 1 fdc kermit 1677446 Mar 3 2002 [2801]ucs2.html
- -rw-r--r-- 1 fdc kermit 18259 May 14 2000 [2802]ucsterm.html
- -rw-r--r-- 1 fdc kermit 2382 Jul 11 2011 [2803]ugui.html
- -rw-r--r-- 1 fdc kermit 73719 Sep 25 2014 [2804]uiksd.html
- -rw-r--r-- 1 fdc kermit 5438 Apr 9 2003 [2805]uk-postcodes.tx
- t
- -rw-r--r-- 1 fdc kermit 11871 Jul 8 2011 [2806]ukcounties.html
- -rw-r--r-- 1 fdc kermit 12675 Mar 9 2016 [2807]ulinks.html
- -rw-r--r-- 1 fdc kermit 12535 Jan 6 2012 [2808]ulinks.html.~1~
- -rw-r--r-- 1 fdc kermit 2042 Jan 15 2000 [2809]unicode.gif
- lrwxrwxrwx 1 fdc kermit 11 Mar 27 2003 [2810]unicode.html ->
- case08.html
- -rw-r--r-- 1 fdc kermit 1437 Sep 23 2011 [2811]uniform.html
- drwxr-xr-x 2 fdc kermit 2 Mar 26 2001 [2812]unigroup/
- -rw-r--r-- 1 fdc kermit 12458 Jan 29 2016 [2813]unix.html
- -rw-r--r-- 1 fdc kermit 12368 Sep 8 2013 [2814]unix.html.~1~
- -rw-r--r-- 1 fdc kermit 12458 Jan 28 2016 [2815]unix.html.~2~
- -rw-r--r-- 1 fdc kermit 23478 Mar 27 2002 [2816]url.gif
- -rw-r--r-- 1 fdc kermit 5609 Mar 27 2002 [2817]url_sm.gif
- -rw-r--r-- 1 fdc kermit 414 Dec 6 1994 [2818]usa-construct.g
- if
- -rw-r--r-- 1 fdc kermit 5026 Feb 28 1996 [2819]ushield50.gif
- -rw-r--r-- 1 fdc kermit 12782 May 4 10:55 [2820]usingckermit.ht
- ml
- -rw-r--r-- 1 fdc kermit 12608 Nov 29 2019 [2821]usingckermit.ht
- ml.~10~
- -rw-r--r-- 1 fdc kermit 11113 Sep 27 2011 [2822]usingckermit.ht
- ml.~1~
- -rw-r--r-- 1 fdc kermit 11270 Dec 24 2013 [2823]usingckermit.ht
- ml.~2~
- -rw-r--r-- 1 fdc kermit 12600 Aug 25 2019 [2824]usingckermit.ht
- ml.~9~
- -rw-r--r-- 1 fdc kermit 30599 Feb 10 2016 [2825]usingmackermit-
- 99.jpg
- -rw-r--r-- 1 fdc kermit 75383 Feb 10 2016 [2826]usingmackermit.
- jpg
- -rw-r--r-- 1 fdc kermit 7885182 Apr 5 2011 [2827]usingmackermit.
- pdf
- -rw-r--r-- 1 fdc kermit 873017 Nov 29 2008 [2828]ussr.gif
- -rw-r--r-- 1 fdc kermit 401780 Sep 25 2014 [2829]utf8-t0.html
- -rw-r--r-- 1 fdc kermit 424385 Sep 25 2014 [2830]utf8-t1-hexonly
- .html
- -rw-r--r-- 1 fdc kermit 582629 Sep 25 2014 [2831]utf8-t1.html
- -rw-r--r-- 1 fdc kermit 1678007 Mar 21 2003 [2832]utf8-table.html
- -rw-r--r-- 1 fdc kermit 60115 Feb 15 2019 [2833]utf8.html
- -rw-r--r-- 1 fdc kermit 60224 Jan 31 2017 [2834]utf8.html.backu
- p
- -rw-r--r-- 1 fdc kermit 60551 Apr 12 2017 [2835]utf8.html.~11~
- -rw-r--r-- 1 fdc kermit 60628 Mar 9 2018 [2836]utf8.html.~12~
- -rw-r--r-- 1 fdc kermit 57982 Sep 23 2011 [2837]utf8.html.~1~
- -rw-r--r-- 1 fdc kermit 58940 Dec 26 2015 [2838]utf8.html.~2~
- -rw-r--r-- 1 fdc kermit 19330 Sep 23 2011 [2839]utf8_unnumbered
- .html
- -rw-r--r-- 1 fdc kermit 2839 Sep 25 2014 [2840]utils.html
- -rw-r--r-- 1 fdc kermit 9107 Sep 23 2011 [2841]uucp.html
- -rw-r--r-- 1 fdc kermit 488942 Sep 6 2017 [2842]uuu
- -rw-r--r-- 1 fdc kermit 119 Jan 16 2017 [2843]uzbek.utf8.txt
- -rw-r--r-- 1 fdc kermit 101888 Jul 1 2011 [2844]vax_11-750.jpg
- -rw-r--r-- 1 fdc kermit 9184 Apr 4 1996 [2845]vcheck.gif
- -rw-r--r-- 1 fdc kermit 2716 Sep 23 2011 [2846]vendor.html
- -rw-r--r-- 1 fdc kermit 2716 Sep 23 2011 [2847]vinfo.html
- -rw-r--r-- 1 fdc kermit 1490 Jan 9 1996 [2848]visa.gif
- -rw-r--r-- 1 fdc kermit 13086 Mar 27 2002 [2849]vm3270.gif
- -rw-r--r-- 1 fdc kermit 3247 Mar 27 2002 [2850]vm3270sm.gif
- -rw-r--r-- 1 fdc kermit 1263 Sep 23 2011 [2851]vms_old.html
- -rw-r--r-- 1 fdc kermit 104207 Dec 18 2003 [2852]vt100-keyboard-
- 700.jpg
- -rw-r--r-- 1 fdc kermit 636 Sep 23 2011 [2853]vt100-keyboard.
- html
- -rw-r--r-- 1 fdc kermit 239204 Dec 18 2003 [2854]vt100-keyboard.
- jpg
- -rw-r--r-- 1 fdc kermit 44465 Dec 18 2003 [2855]vt320-fkeys-300
- .jpg
- -rw-r--r-- 1 fdc kermit 150432 Dec 18 2003 [2856]vt320-fkeys-700
- .jpg
- -rw-r--r-- 1 fdc kermit 501603 Dec 18 2003 [2857]vt320-fkeys.jpg
- -rw-r--r-- 1 fdc kermit 153126 Dec 18 2003 [2858]vt320-keyboard-
- 700.jpg
- -rw-r--r-- 1 fdc kermit 298 Nov 27 2006 [2859]vt320-keyboard.
- html
- -rw-r--r-- 1 fdc kermit 579589 Dec 18 2003 [2860]vt320-keyboard.
- jpg
- -rw-r--r-- 1 fdc kermit 33510 Dec 18 2003 [2861]vt320-keypads-3
- 00.jpg
- -rw-r--r-- 1 fdc kermit 110540 Dec 18 2003 [2862]vt320-keypads-7
- 00.jpg
- -rw-r--r-- 1 fdc kermit 251609 Dec 18 2003 [2863]vt320-keypads.j
- pg
- -rw-r--r-- 1 fdc kermit 646987 Mar 24 2002 [2864]vt520_02.jpg
- -rw-r--r-- 1 fdc kermit 45964 Apr 1 2002 [2865]vt520_03.jpg
- -rw-r--r-- 1 fdc kermit 3275 Mar 25 2002 [2866]vt520_05.jpg
- -rw-r--r-- 1 fdc kermit 5917 Sep 23 2011 [2867]vtscore.html
- -rw-r--r-- 1 fdc kermit 7373 Sep 25 2014 [2868]vttest.html
- -rw-r--r-- 1 fdc kermit 221887 Feb 13 2018 [2869]wavesgallery.jp
- g
- -rw-r--r-- 1 fdc kermit 55837 Jun 17 2017 [2870]wbc3-280.jpg
- -rw-r--r-- 1 fdc kermit 52944 Jan 27 2001 [2871]wbc3.jpg
- -rw-r--r-- 1 fdc kermit 17616 Aug 25 2019 [2872]weblog.html
- -rw-r--r-- 1 fdc kermit 17609 Sep 3 2013 [2873]weblog.html.~1~
- -rw-r--r-- 1 fdc kermit 532 Jan 14 1996 [2874]welcome.gif
- -rw-r--r-- 1 fdc kermit 27609 Mar 2 2010 [2875]whatfor.html
- lrwxrwx--- 1 fdc kermit 13 Apr 21 2019 [2876]whatsnew.html -
- > timeline.html
- -rw-r--r-- 1 fdc kermit 25822 Oct 30 2013 [2877]whatsnew.html.~
- 1~
- -rw-r--r-- 1 fdc kermit 25906 Nov 24 2013 [2878]whatsnew.html.~
- 2~
- -rw-r--r-- 1 fdc kermit 32922 Mar 13 2018 [2879]whatsnew.html.~
- 34~
- -rw-r--r-- 1 fdc kermit 32926 Mar 16 2019 [2880]whatsnew.html.~
- 35~
- -rw-r--r-- 1 fdc kermit 13657 Mar 27 2002 [2881]white.gif
- -rw-r--r-- 1 fdc kermit 3216 Mar 27 2002 [2882]white_sm.gif
- -rw-r--r-- 1 fdc kermit 4278 Jul 11 2011 [2883]wiksd.html
- -rw-r--r-- 1 fdc kermit 86651 Sep 27 2011 [2884]wiksdadm.html
- -rw-r--r-- 1 fdc kermit 51112 Jul 11 2011 [2885]wiksduser.html
- -rw-r--r-- 1 fdc kermit 5400 Sep 25 2014 [2886]winmodem.html
- lrwxrwxrwx 1 fdc kermit 13 Mar 27 2003 [2887]winmodems.html
- -> winmodem.html
- -rw-r--r-- 1 fdc kermit 20555 Apr 28 2010 [2888]winsshclients.h
- tml
- -rw-r--r-- 1 fdc kermit 79676 Jun 6 2014 [2889]wpa.jpg
- -rw-r--r-- 1 fdc kermit 4119 Jun 7 2014 [2890]wpa2-100.jpg
- -rw-r--r-- 1 fdc kermit 140228 Jun 7 2014 [2891]wpa2.jpg
- -rw-r--r-- 1 fdc kermit 3408 Mar 25 2002 [2892]wyse_05.jpg
- -rw-r--r-- 1 fdc kermit 88704 Jan 12 2003 [2893]x.gif
- -rw-r--r-- 1 fdc kermit 2198 Jun 20 2017 [2894]x.htaccess
- -rw-r--r-- 1 fdc kermit 0 Sep 6 2017 [2895]x.html
- -rw-r--r-- 1 fdc kermit 16508 Feb 18 2015 [2896]x.html.~1~
- -rw-r--r-- 1 fdc kermit 16 Sep 6 2017 [2897]x.~1~
- -rw-r--r-- 1 fdc kermit 37067 Sep 4 1995 [2898]x1.gif
- -rw-r--r-- 1 fdc kermit 45725 Sep 5 1995 [2899]x10.gif
- -rw-r--r-- 1 fdc kermit 44912 Sep 5 1995 [2900]x11.gif
- -rw-r--r-- 1 fdc kermit 43756 Sep 5 1995 [2901]x12.gif
- -rw-r--r-- 1 fdc kermit 41413 Sep 5 1995 [2902]x13.gif
- -rw-r--r-- 1 fdc kermit 45911 Sep 5 1995 [2903]x14.gif
- -rw-r--r-- 1 fdc kermit 41930 Sep 5 1995 [2904]x15.gif
- -rw-r--r-- 1 fdc kermit 42463 Sep 4 1995 [2905]x2.gif
- -rw-r--r-- 1 fdc kermit 43164 Sep 5 1995 [2906]x20.gif
- -rw-r--r-- 1 fdc kermit 43164 Sep 5 1995 [2907]x21.gif
- -rw-r--r-- 1 fdc kermit 41524 Sep 5 1995 [2908]x22.gif
- -rw-r--r-- 1 fdc kermit 42834 Sep 5 1995 [2909]x23.gif
- -rw-r--r-- 1 fdc kermit 42306 Sep 5 1995 [2910]x24.gif
- -rw-r--r-- 1 fdc kermit 42903 Sep 5 1995 [2911]x25.gif
- -rw-r--r-- 1 fdc kermit 40641 Sep 4 1995 [2912]x3.gif
- -rw-r--r-- 1 fdc kermit 41129 Sep 4 1995 [2913]x4.gif
- -rw-r--r-- 1 fdc kermit 42116 Sep 4 1995 [2914]x5.gif
- -rw-r--r-- 1 fdc kermit 41065 Sep 4 1995 [2915]x6.gif
- -rw-r--r-- 1 fdc kermit 45095 Sep 5 1995 [2916]x7.gif
- -rw-r--r-- 1 fdc kermit 41001 Sep 5 1995 [2917]x8.gif
- -rw-r--r-- 1 fdc kermit 44177 Sep 5 1995 [2918]x9.gif
- -rw-r--r-- 1 fdc kermit 259 Apr 19 2019 [2919]xbg
- -rw-r--r-- 1 fdc kermit 124 Apr 19 2019 [2920]xbg.~1~
- -rw-r--r-- 1 fdc kermit 406043 Apr 14 2014 [2921]xbronx403.jpg
- -rw-r--r-- 1 fdc kermit 294696 Apr 14 2014 [2922]xbronx408.jpg
- -rw-r--r-- 1 fdc kermit 228746 Sep 25 2013 [2923]xbronx55.jpg
- -rw-r--r-- 1 fdc kermit 5210 Jun 3 2002 [2924]xcrown70.gif
- -rw-r--r-- 1 fdc kermit 5229 Nov 19 2009 [2925]xcrown74-lb.gif
- -rw-r--r-- 1 fdc kermit 9305 Nov 19 2009 [2926]xcrownico-lb.gi
- f
- -rw-r--r-- 1 fdc kermit 9379 May 31 2002 [2927]xcrownico.gif
- -rw-r--r-- 1 fdc kermit 837 Sep 23 2011 [2928]xiksd.html
- -rw-r--r-- 1 fdc kermit 11061 Sep 25 2014 [2929]xphotoalbum.htm
- l
- -rw-r--r-- 1 fdc kermit 1504 Oct 20 2005 [2930]xsearch.html
- -rw-r--r-- 1 fdc kermit 51935 Sep 23 2011 [2931]xutf8.html
- -rw-r--r-- 1 fdc kermit 8730 Sep 23 2011 [2932]xx.html
- -rw-r--r-- 1 fdc kermit 1605 Oct 20 2005 [2933]xxsearch.html
- -rw-r--r-- 1 fdc kermit 24576 Oct 20 2000 [2934]xxu
- -rw-r--r-- 1 fdc kermit 6042 Oct 20 2000 [2935]xxu.c
- -rw-r--r-- 1 fdc kermit 46301 May 28 2017 [2936]xxx.html
- -rw-r--r-- 1 fdc kermit 17551 Mar 26 2002 [2937]xyzcorp.gif
- -rw-r--r-- 1 fdc kermit 99 Nov 18 2016 [2938]y
- -rw-r--r-- 1 fdc kermit 1160 May 1 2017 [2939]y.html
- -rw-r--r-- 1 fdc kermit 38615 Sep 4 1995 [2940]y1.gif
- -rw-r--r-- 1 fdc kermit 43867 Sep 4 1995 [2941]y2.gif
- -rw-r--r-- 1 fdc kermit 1232 Apr 30 2017 [2942]y2.html
- -rw-r--r-- 1 fdc kermit 41680 Sep 4 1995 [2943]y3.gif
- -rw-r--r-- 1 fdc kermit 6624 Sep 23 2011 [2944]year2000.html
- -rw-r--r-- 1 fdc kermit 32 May 1 2000 [2945]yoruba.txt
- -rw-rw-r-- 1 fdc kermit 0 Aug 24 2019 [2946]yyy
- References
- 1. file:///net/u/1/f/fdc/web/%23bronx24.txt%23
- 2. file:///net/u/1/f/fdc/web/%23bronx495.txt%23
- 3. file:///net/u/1/f/fdc/web/%23change.html%23
- 4. file:///net/u/1/f/fdc/web/%23ftpclient-es.html%23
- 5. file:///net/u/1/f/fdc/web/%23index-es.html%23
- 6. file:///net/u/1/f/fdc/web/%23kermit.css%23
- 7. file:///net/u/1/f/fdc/web/%23kermit.html%23
- 8. file:///net/u/1/f/fdc/web/%23perf.html%23
- 9. file:///net/u/1/f/fdc/web/%23sitemap.xml%23
- 10. file:///net/u/1/f/fdc/web/0000.log
- 11. file:///net/u/1/f/fdc/web/10847.PDF
- 12. file:///net/u/1/f/fdc/web/1170.jpg
- 13. file:///net/u/1/f/fdc/web/123.html
- 14. file:///net/u/1/f/fdc/web/19880526%2000%3A00%3A00
- 15. file:///net/u/1/f/fdc/web/19960822%2000%3A00%3A00
- 16. file:///net/u/1/f/fdc/web/206
- 17. file:///net/u/1/f/fdc/web/208
- 18. file:///net/u/1/f/fdc/web/412.txt
- 19. file:///net/u/1/f/fdc/web/412.txt.%7E1%7E
- 20. file:///net/u/1/f/fdc/web/480.jpg
- 21. file:///net/u/1/f/fdc/web/5cows.gif
- 22. file:///net/u/1/f/fdc/web/5rate.gif
- 23. file:///net/u/1/f/fdc/web/5ratelg.gif
- 24. file:///net/u/1/f/fdc/web/5ratesm.gif
- 25. file:///net/u/1/f/fdc/web/5star.gif
- 26. file:///net/u/1/f/fdc/web/AAVSYS.TXT
- 27. file:///net/u/1/f/fdc/web/BOOK.HTM
- 28. file:///net/u/1/f/fdc/web/COPYING.TXT
- 29. file:///net/u/1/f/fdc/web/ChangeEmail.sh
- 30. file:///net/u/1/f/fdc/web/ChangeSupport.sh
- 31. file:///net/u/1/f/fdc/web/ChangeURL.sh
- 32. file:///net/u/1/f/fdc/web/Cincinnati-Flat-Rolls-vs-Kermit.pdf
- 33. file:///net/u/1/f/fdc/web/IMAGES
- 34. file:///net/u/1/f/fdc/web/KermitComm.pdf
- 35. file:///net/u/1/f/fdc/web/NOTES.html
- 36. file:///net/u/1/f/fdc/web/TRCFrances245_N5.jpg
- 37. file:///net/u/1/f/fdc/web/aavsys.txt
- 38. file:///net/u/1/f/fdc/web/aaxcom.html
- 39. file:///net/u/1/f/fdc/web/aaxfly.html
- 40. file:///net/u/1/f/fdc/web/aaxfly.txt
- 41. file:///net/u/1/f/fdc/web/about-da.pdf
- 42. file:///net/u/1/f/fdc/web/about.html
- 43. file:///net/u/1/f/fdc/web/ac2_i.gif
- 44. file:///net/u/1/f/fdc/web/ac2_i2.gif
- 45. file:///net/u/1/f/fdc/web/ac5_i.gif
- 46. file:///net/u/1/f/fdc/web/ac5_i2.gif
- 47. file:///net/u/1/f/fdc/web/academic.html
- 48. file:///net/u/1/f/fdc/web/accents.html
- 49. file:///net/u/1/f/fdc/web/accents.html.%7E1%7E
- 50. file:///net/u/1/f/fdc/web/accents.save
- 51. file:///net/u/1/f/fdc/web/addme.html
- 52. file:///net/u/1/f/fdc/web/advanced.html
- 53. file:///net/u/1/f/fdc/web/aleph-sm.gif
- 54. file:///net/u/1/f/fdc/web/aleph.gif
- 55. file:///net/u/1/f/fdc/web/aleph_sm.gif
- 56. file:///net/u/1/f/fdc/web/amazon.html
- 57. file:///net/u/1/f/fdc/web/annex-a-75.gif
- 58. file:///net/u/1/f/fdc/web/anniversary.html
- 59. file:///net/u/1/f/fdc/web/announce.html
- 60. file:///net/u/1/f/fdc/web/announce01.html
- 61. file:///net/u/1/f/fdc/web/any.gif
- 62. file:///net/u/1/f/fdc/web/api.html
- 63. file:///net/u/1/f/fdc/web/appleii.html
- 64. file:///net/u/1/f/fdc/web/arabic.html
- 65. file:///net/u/1/f/fdc/web/archive.html
- 66. file:///net/u/1/f/fdc/web/archive.html.%7E10%7E
- 67. file:///net/u/1/f/fdc/web/archive.html.%7E1%7E
- 68. file:///net/u/1/f/fdc/web/archive.html.%7E2%7E
- 69. file:///net/u/1/f/fdc/web/archive.html.%7E9%7E
- 70. file:///net/u/1/f/fdc/web/arrowkeys.html
- 71. file:///net/u/1/f/fdc/web/asap.html
- 72. file:///net/u/1/f/fdc/web/ascii.html
- 73. file:///net/u/1/f/fdc/web/authnet.cfg
- 74. file:///net/u/1/f/fdc/web/authnet.cgi
- 75. file:///net/u/1/f/fdc/web/b
- 76. file:///net/u/1/f/fdc/web/b.html
- 77. file:///net/u/1/f/fdc/web/backspace-100.jpg
- 78. file:///net/u/1/f/fdc/web/backspace-140.jpg
- 79. file:///net/u/1/f/fdc/web/backspace.html
- 80. file:///net/u/1/f/fdc/web/backspace.html.%7E1%7E
- 81. file:///net/u/1/f/fdc/web/backspace.html.%7E2%7E
- 82. file:///net/u/1/f/fdc/web/backup.ksc
- 83. file:///net/u/1/f/fdc/web/backup.ksc.%7E1%7E
- 84. file:///net/u/1/f/fdc/web/backup.ksc.%7E2%7E
- 85. file:///net/u/1/f/fdc/web/backup.ksc.%7E5%7E
- 86. file:///net/u/1/f/fdc/web/backup.ksc.%7E6%7E
- 87. file:///net/u/1/f/fdc/web/bacteria.gif
- 88. file:///net/u/1/f/fdc/web/banner-748.jpg
- 89. file:///net/u/1/f/fdc/web/banner-xxx.jpg
- 90. file:///net/u/1/f/fdc/web/banner.gif
- 91. file:///net/u/1/f/fdc/web/be.txt
- 92. file:///net/u/1/f/fdc/web/benchmarks-160.jpg
- 93. file:///net/u/1/f/fdc/web/benchmarks-280.jpg
- 94. file:///net/u/1/f/fdc/web/benchmarks-740.jpg
- 95. file:///net/u/1/f/fdc/web/benchmarks-r.jpg
- 96. file:///net/u/1/f/fdc/web/benchmarks-t.jpg
- 97. file:///net/u/1/f/fdc/web/benchmarks.html
- 98. file:///net/u/1/f/fdc/web/benchmarks.jpg
- 99. file:///net/u/1/f/fdc/web/bggray-8.jpg
- 100. file:///net/u/1/f/fdc/web/bggray.jpg
- 101. file:///net/u/1/f/fdc/web/bglblue.jpg
- 102. file:///net/u/1/f/fdc/web/bh
- 103. file:///net/u/1/f/fdc/web/biblio.html
- 104. file:///net/u/1/f/fdc/web/biblio.html.%7E1%7E
- 105. file:///net/u/1/f/fdc/web/biblio.html.%7E2%7E
- 106. file:///net/u/1/f/fdc/web/biblio.html.%7E3%7E
- 107. file:///net/u/1/f/fdc/web/biblio.html.%7E4%7E
- 108. file:///net/u/1/f/fdc/web/biblio.save-me
- 109. file:///net/u/1/f/fdc/web/bigfinish.gif
- 110. file:///net/u/1/f/fdc/web/bin
- 111. file:///net/u/1/f/fdc/web/biplane.gif
- 112. file:///net/u/1/f/fdc/web/biplane_icon.gif
- 113. file:///net/u/1/f/fdc/web/black.html
- 114. file:///net/u/1/f/fdc/web/boeing787-100.jpg
- 115. file:///net/u/1/f/fdc/web/boeing787-1024.jpg
- 116. file:///net/u/1/f/fdc/web/boeing787-150.jpg
- 117. file:///net/u/1/f/fdc/web/boeing787-200.jpg
- 118. file:///net/u/1/f/fdc/web/boeing787-280.jpg
- 119. file:///net/u/1/f/fdc/web/boeing787-400.jpg
- 120. file:///net/u/1/f/fdc/web/boeing787-740.jpg
- 121. file:///net/u/1/f/fdc/web/boeing787-r.jpg
- 122. file:///net/u/1/f/fdc/web/boeing787-t.jpg
- 123. file:///net/u/1/f/fdc/web/boeing787.html
- 124. file:///net/u/1/f/fdc/web/boeing787.jpg
- 125. file:///net/u/1/f/fdc/web/book-gallery.html
- 126. file:///net/u/1/f/fdc/web/book-strip-1-080.jpg
- 127. file:///net/u/1/f/fdc/web/book-strip-1-100.jpg
- 128. file:///net/u/1/f/fdc/web/book-strip-1-150.jpg
- 129. file:///net/u/1/f/fdc/web/book-strip-1-200.jpg
- 130. file:///net/u/1/f/fdc/web/book-strip-1-280.jpg
- 131. file:///net/u/1/f/fdc/web/books.html
- 132. file:///net/u/1/f/fdc/web/booksonline.html
- 133. file:///net/u/1/f/fdc/web/booksonline.html.%7E10%7E
- 134. file:///net/u/1/f/fdc/web/booksonline.html.%7E11%7E
- 135. file:///net/u/1/f/fdc/web/booksonline.html.%7E1%7E
- 136. file:///net/u/1/f/fdc/web/booksonline.html.%7E2%7E
- 137. file:///net/u/1/f/fdc/web/boxes.gif
- 138. file:///net/u/1/f/fdc/web/boxes_icon.gif
- 139. file:///net/u/1/f/fdc/web/brake.html
- 140. file:///net/u/1/f/fdc/web/bronx
- 141. file:///net/u/1/f/fdc/web/bronx1.jpg
- 142. file:///net/u/1/f/fdc/web/bronx10.jpg
- 143. file:///net/u/1/f/fdc/web/bronx100.html
- 144. file:///net/u/1/f/fdc/web/bronx100.jpg
- 145. file:///net/u/1/f/fdc/web/bronx1000.jpg
- 146. file:///net/u/1/f/fdc/web/bronx1001.jpg
- 147. file:///net/u/1/f/fdc/web/bronx1002.jpg
- 148. file:///net/u/1/f/fdc/web/bronx1003.jpg
- 149. file:///net/u/1/f/fdc/web/bronx1004.jpg
- 150. file:///net/u/1/f/fdc/web/bronx1005.jpg
- 151. file:///net/u/1/f/fdc/web/bronx1006.jpg
- 152. file:///net/u/1/f/fdc/web/bronx1007.jpg
- 153. file:///net/u/1/f/fdc/web/bronx1008.jpg
- 154. file:///net/u/1/f/fdc/web/bronx1009.jpg
- 155. file:///net/u/1/f/fdc/web/bronx101.jpg
- 156. file:///net/u/1/f/fdc/web/bronx1010.jpg
- 157. file:///net/u/1/f/fdc/web/bronx1011.jpg
- 158. file:///net/u/1/f/fdc/web/bronx1012.jpg
- 159. file:///net/u/1/f/fdc/web/bronx1013.jpg
- 160. file:///net/u/1/f/fdc/web/bronx1014.jpg
- 161. file:///net/u/1/f/fdc/web/bronx1015.jpg
- 162. file:///net/u/1/f/fdc/web/bronx1016.jpg
- 163. file:///net/u/1/f/fdc/web/bronx1017.jpg
- 164. file:///net/u/1/f/fdc/web/bronx1018.jpg
- 165. file:///net/u/1/f/fdc/web/bronx1019.jpg
- 166. file:///net/u/1/f/fdc/web/bronx102.jpg
- 167. file:///net/u/1/f/fdc/web/bronx1020.jpg
- 168. file:///net/u/1/f/fdc/web/bronx1021.jpg
- 169. file:///net/u/1/f/fdc/web/bronx1022.jpg
- 170. file:///net/u/1/f/fdc/web/bronx1023.jpg
- 171. file:///net/u/1/f/fdc/web/bronx1024.jpg
- 172. file:///net/u/1/f/fdc/web/bronx1025.jpg
- 173. file:///net/u/1/f/fdc/web/bronx1026.jpg
- 174. file:///net/u/1/f/fdc/web/bronx1027.jpg
- 175. file:///net/u/1/f/fdc/web/bronx1028.jpg
- 176. file:///net/u/1/f/fdc/web/bronx1029.jpg
- 177. file:///net/u/1/f/fdc/web/bronx103.jpg
- 178. file:///net/u/1/f/fdc/web/bronx1030.jpg
- 179. file:///net/u/1/f/fdc/web/bronx1031.jpg
- 180. file:///net/u/1/f/fdc/web/bronx1032.jpg
- 181. file:///net/u/1/f/fdc/web/bronx1033.jpg
- 182. file:///net/u/1/f/fdc/web/bronx1034.jpg
- 183. file:///net/u/1/f/fdc/web/bronx1035.jpg
- 184. file:///net/u/1/f/fdc/web/bronx1036.jpg
- 185. file:///net/u/1/f/fdc/web/bronx1037.jpg
- 186. file:///net/u/1/f/fdc/web/bronx1038.jpg
- 187. file:///net/u/1/f/fdc/web/bronx1039.jpg
- 188. file:///net/u/1/f/fdc/web/bronx104.jpg
- 189. file:///net/u/1/f/fdc/web/bronx1040.jpg
- 190. file:///net/u/1/f/fdc/web/bronx1041.jpg
- 191. file:///net/u/1/f/fdc/web/bronx1042.jpg
- 192. file:///net/u/1/f/fdc/web/bronx1043.jpg
- 193. file:///net/u/1/f/fdc/web/bronx1044.jpg
- 194. file:///net/u/1/f/fdc/web/bronx1045.jpg
- 195. file:///net/u/1/f/fdc/web/bronx1046.jpg
- 196. file:///net/u/1/f/fdc/web/bronx1047.jpg
- 197. file:///net/u/1/f/fdc/web/bronx1048.jpg
- 198. file:///net/u/1/f/fdc/web/bronx1049.jpg
- 199. file:///net/u/1/f/fdc/web/bronx105.jpg
- 200. file:///net/u/1/f/fdc/web/bronx1050.jpg
- 201. file:///net/u/1/f/fdc/web/bronx1051.jpg
- 202. file:///net/u/1/f/fdc/web/bronx1052.jpg
- 203. file:///net/u/1/f/fdc/web/bronx1053.jpg
- 204. file:///net/u/1/f/fdc/web/bronx1054.jpg
- 205. file:///net/u/1/f/fdc/web/bronx1055.jpg
- 206. file:///net/u/1/f/fdc/web/bronx1056.jpg
- 207. file:///net/u/1/f/fdc/web/bronx1057.jpg
- 208. file:///net/u/1/f/fdc/web/bronx1058.jpg
- 209. file:///net/u/1/f/fdc/web/bronx1059.jpg
- 210. file:///net/u/1/f/fdc/web/bronx106.jpg
- 211. file:///net/u/1/f/fdc/web/bronx1060.jpg
- 212. file:///net/u/1/f/fdc/web/bronx1061.jpg
- 213. file:///net/u/1/f/fdc/web/bronx1062.jpg
- 214. file:///net/u/1/f/fdc/web/bronx1063.gif
- 215. file:///net/u/1/f/fdc/web/bronx1064.jpg
- 216. file:///net/u/1/f/fdc/web/bronx1065.jpg
- 217. file:///net/u/1/f/fdc/web/bronx107.jpg
- 218. file:///net/u/1/f/fdc/web/bronx108.jpg
- 219. file:///net/u/1/f/fdc/web/bronx109.jpg
- 220. file:///net/u/1/f/fdc/web/bronx11.jpg
- 221. file:///net/u/1/f/fdc/web/bronx110.jpg
- 222. file:///net/u/1/f/fdc/web/bronx111.jpg
- 223. file:///net/u/1/f/fdc/web/bronx112.jpg
- 224. file:///net/u/1/f/fdc/web/bronx113.jpg
- 225. file:///net/u/1/f/fdc/web/bronx114.jpg
- 226. file:///net/u/1/f/fdc/web/bronx115.jpg
- 227. file:///net/u/1/f/fdc/web/bronx116.jpg
- 228. file:///net/u/1/f/fdc/web/bronx117.jpg
- 229. file:///net/u/1/f/fdc/web/bronx118.jpg
- 230. file:///net/u/1/f/fdc/web/bronx119.jpg
- 231. file:///net/u/1/f/fdc/web/bronx12.jpg
- 232. file:///net/u/1/f/fdc/web/bronx120.jpg
- 233. file:///net/u/1/f/fdc/web/bronx121.jpg
- 234. file:///net/u/1/f/fdc/web/bronx122.jpg
- 235. file:///net/u/1/f/fdc/web/bronx123.jpg
- 236. file:///net/u/1/f/fdc/web/bronx124.jpg
- 237. file:///net/u/1/f/fdc/web/bronx125.jpg
- 238. file:///net/u/1/f/fdc/web/bronx126.jpg
- 239. file:///net/u/1/f/fdc/web/bronx127.jpg
- 240. file:///net/u/1/f/fdc/web/bronx128.jpg
- 241. file:///net/u/1/f/fdc/web/bronx129.jpg
- 242. file:///net/u/1/f/fdc/web/bronx13.jpg
- 243. file:///net/u/1/f/fdc/web/bronx130.jpg
- 244. file:///net/u/1/f/fdc/web/bronx131.jpg
- 245. file:///net/u/1/f/fdc/web/bronx132.jpg
- 246. file:///net/u/1/f/fdc/web/bronx133.jpg
- 247. file:///net/u/1/f/fdc/web/bronx134.jpg
- 248. file:///net/u/1/f/fdc/web/bronx135.jpg
- 249. file:///net/u/1/f/fdc/web/bronx136.jpg
- 250. file:///net/u/1/f/fdc/web/bronx137.jpg
- 251. file:///net/u/1/f/fdc/web/bronx138.jpg
- 252. file:///net/u/1/f/fdc/web/bronx139.jpg
- 253. file:///net/u/1/f/fdc/web/bronx14.jpg
- 254. file:///net/u/1/f/fdc/web/bronx140.jpg
- 255. file:///net/u/1/f/fdc/web/bronx141.jpg
- 256. file:///net/u/1/f/fdc/web/bronx142.jpg
- 257. file:///net/u/1/f/fdc/web/bronx143.jpg
- 258. file:///net/u/1/f/fdc/web/bronx144.jpg
- 259. file:///net/u/1/f/fdc/web/bronx145.jpg
- 260. file:///net/u/1/f/fdc/web/bronx146.jpg
- 261. file:///net/u/1/f/fdc/web/bronx147.jpg
- 262. file:///net/u/1/f/fdc/web/bronx148.jpg
- 263. file:///net/u/1/f/fdc/web/bronx149.jpg
- 264. file:///net/u/1/f/fdc/web/bronx15.jpg
- 265. file:///net/u/1/f/fdc/web/bronx150.jpg
- 266. file:///net/u/1/f/fdc/web/bronx151.jpg
- 267. file:///net/u/1/f/fdc/web/bronx152.jpg
- 268. file:///net/u/1/f/fdc/web/bronx153.jpg
- 269. file:///net/u/1/f/fdc/web/bronx154.jpg
- 270. file:///net/u/1/f/fdc/web/bronx155.jpg
- 271. file:///net/u/1/f/fdc/web/bronx156.jpg
- 272. file:///net/u/1/f/fdc/web/bronx157.jpg
- 273. file:///net/u/1/f/fdc/web/bronx158.jpg
- 274. file:///net/u/1/f/fdc/web/bronx159.jpg
- 275. file:///net/u/1/f/fdc/web/bronx16.jpg
- 276. file:///net/u/1/f/fdc/web/bronx160.jpg
- 277. file:///net/u/1/f/fdc/web/bronx161.jpg
- 278. file:///net/u/1/f/fdc/web/bronx162.jpg
- 279. file:///net/u/1/f/fdc/web/bronx163.jpg
- 280. file:///net/u/1/f/fdc/web/bronx164.jpg
- 281. file:///net/u/1/f/fdc/web/bronx165.jpg
- 282. file:///net/u/1/f/fdc/web/bronx166.jpg
- 283. file:///net/u/1/f/fdc/web/bronx167.jpg
- 284. file:///net/u/1/f/fdc/web/bronx168.jpg
- 285. file:///net/u/1/f/fdc/web/bronx169.jpg
- 286. file:///net/u/1/f/fdc/web/bronx17.jpg
- 287. file:///net/u/1/f/fdc/web/bronx170.jpg
- 288. file:///net/u/1/f/fdc/web/bronx171.jpg
- 289. file:///net/u/1/f/fdc/web/bronx172.jpg
- 290. file:///net/u/1/f/fdc/web/bronx173.jpg
- 291. file:///net/u/1/f/fdc/web/bronx174.jpg
- 292. file:///net/u/1/f/fdc/web/bronx175.jpg
- 293. file:///net/u/1/f/fdc/web/bronx176.jpg
- 294. file:///net/u/1/f/fdc/web/bronx177.jpg
- 295. file:///net/u/1/f/fdc/web/bronx178.jpg
- 296. file:///net/u/1/f/fdc/web/bronx179.jpg
- 297. file:///net/u/1/f/fdc/web/bronx18.jpg
- 298. file:///net/u/1/f/fdc/web/bronx180.jpg
- 299. file:///net/u/1/f/fdc/web/bronx181.jpg
- 300. file:///net/u/1/f/fdc/web/bronx182.jpg
- 301. file:///net/u/1/f/fdc/web/bronx183.jpg
- 302. file:///net/u/1/f/fdc/web/bronx184.jpg
- 303. file:///net/u/1/f/fdc/web/bronx185.jpg
- 304. file:///net/u/1/f/fdc/web/bronx186.jpg
- 305. file:///net/u/1/f/fdc/web/bronx187.jpg
- 306. file:///net/u/1/f/fdc/web/bronx188.jpg
- 307. file:///net/u/1/f/fdc/web/bronx189.jpg
- 308. file:///net/u/1/f/fdc/web/bronx19.jpg
- 309. file:///net/u/1/f/fdc/web/bronx190.jpg
- 310. file:///net/u/1/f/fdc/web/bronx191.jpg
- 311. file:///net/u/1/f/fdc/web/bronx192.jpg
- 312. file:///net/u/1/f/fdc/web/bronx193.jpg
- 313. file:///net/u/1/f/fdc/web/bronx194.jpg
- 314. file:///net/u/1/f/fdc/web/bronx195.jpg
- 315. file:///net/u/1/f/fdc/web/bronx196.jpg
- 316. file:///net/u/1/f/fdc/web/bronx197.jpg
- 317. file:///net/u/1/f/fdc/web/bronx198.jpg
- 318. file:///net/u/1/f/fdc/web/bronx199.jpg
- 319. file:///net/u/1/f/fdc/web/bronx2.jpg
- 320. file:///net/u/1/f/fdc/web/bronx20.jpg
- 321. file:///net/u/1/f/fdc/web/bronx200.jpg
- 322. file:///net/u/1/f/fdc/web/bronx201.jpg
- 323. file:///net/u/1/f/fdc/web/bronx202.jpg
- 324. file:///net/u/1/f/fdc/web/bronx203.jpg
- 325. file:///net/u/1/f/fdc/web/bronx204.jpg
- 326. file:///net/u/1/f/fdc/web/bronx205.jpg
- 327. file:///net/u/1/f/fdc/web/bronx206.jpg
- 328. file:///net/u/1/f/fdc/web/bronx207.jpg
- 329. file:///net/u/1/f/fdc/web/bronx208.jpg
- 330. file:///net/u/1/f/fdc/web/bronx209.jpg
- 331. file:///net/u/1/f/fdc/web/bronx21.jpg
- 332. file:///net/u/1/f/fdc/web/bronx210.jpg
- 333. file:///net/u/1/f/fdc/web/bronx211.jpg
- 334. file:///net/u/1/f/fdc/web/bronx212.jpg
- 335. file:///net/u/1/f/fdc/web/bronx213.jpg
- 336. file:///net/u/1/f/fdc/web/bronx214.jpg
- 337. file:///net/u/1/f/fdc/web/bronx215.jpg
- 338. file:///net/u/1/f/fdc/web/bronx216.jpg
- 339. file:///net/u/1/f/fdc/web/bronx217.jpg
- 340. file:///net/u/1/f/fdc/web/bronx218.jpg
- 341. file:///net/u/1/f/fdc/web/bronx219.jpg
- 342. file:///net/u/1/f/fdc/web/bronx22.jpg
- 343. file:///net/u/1/f/fdc/web/bronx220.jpg
- 344. file:///net/u/1/f/fdc/web/bronx221.jpg
- 345. file:///net/u/1/f/fdc/web/bronx222.jpg
- 346. file:///net/u/1/f/fdc/web/bronx223.jpg
- 347. file:///net/u/1/f/fdc/web/bronx224.jpg
- 348. file:///net/u/1/f/fdc/web/bronx225.jpg
- 349. file:///net/u/1/f/fdc/web/bronx226.jpg
- 350. file:///net/u/1/f/fdc/web/bronx227.jpg
- 351. file:///net/u/1/f/fdc/web/bronx228.jpg
- 352. file:///net/u/1/f/fdc/web/bronx229.jpg
- 353. file:///net/u/1/f/fdc/web/bronx23.jpg
- 354. file:///net/u/1/f/fdc/web/bronx230.jpg
- 355. file:///net/u/1/f/fdc/web/bronx231.jpg
- 356. file:///net/u/1/f/fdc/web/bronx232.jpg
- 357. file:///net/u/1/f/fdc/web/bronx233.jpg
- 358. file:///net/u/1/f/fdc/web/bronx234.jpg
- 359. file:///net/u/1/f/fdc/web/bronx235.jpg
- 360. file:///net/u/1/f/fdc/web/bronx236.jpg
- 361. file:///net/u/1/f/fdc/web/bronx237.jpg
- 362. file:///net/u/1/f/fdc/web/bronx238.jpg
- 363. file:///net/u/1/f/fdc/web/bronx239.jpg
- 364. file:///net/u/1/f/fdc/web/bronx24.jpg
- 365. file:///net/u/1/f/fdc/web/bronx240.jpg
- 366. file:///net/u/1/f/fdc/web/bronx241.jpg
- 367. file:///net/u/1/f/fdc/web/bronx242.jpg
- 368. file:///net/u/1/f/fdc/web/bronx243.jpg
- 369. file:///net/u/1/f/fdc/web/bronx244.jpg
- 370. file:///net/u/1/f/fdc/web/bronx245.jpg
- 371. file:///net/u/1/f/fdc/web/bronx246.jpg
- 372. file:///net/u/1/f/fdc/web/bronx247.jpg
- 373. file:///net/u/1/f/fdc/web/bronx248.jpg
- 374. file:///net/u/1/f/fdc/web/bronx249.jpg
- 375. file:///net/u/1/f/fdc/web/bronx25.jpg
- 376. file:///net/u/1/f/fdc/web/bronx250.jpg
- 377. file:///net/u/1/f/fdc/web/bronx251.jpg
- 378. file:///net/u/1/f/fdc/web/bronx252.jpg
- 379. file:///net/u/1/f/fdc/web/bronx253.jpg
- 380. file:///net/u/1/f/fdc/web/bronx254.jpg
- 381. file:///net/u/1/f/fdc/web/bronx255.jpg
- 382. file:///net/u/1/f/fdc/web/bronx256.jpg
- 383. file:///net/u/1/f/fdc/web/bronx257.jpg
- 384. file:///net/u/1/f/fdc/web/bronx258.jpg
- 385. file:///net/u/1/f/fdc/web/bronx259.jpg
- 386. file:///net/u/1/f/fdc/web/bronx26.jpg
- 387. file:///net/u/1/f/fdc/web/bronx260.jpg
- 388. file:///net/u/1/f/fdc/web/bronx261.jpg
- 389. file:///net/u/1/f/fdc/web/bronx262.jpg
- 390. file:///net/u/1/f/fdc/web/bronx263.jpg
- 391. file:///net/u/1/f/fdc/web/bronx264.jpg
- 392. file:///net/u/1/f/fdc/web/bronx265.jpg
- 393. file:///net/u/1/f/fdc/web/bronx266.jpg
- 394. file:///net/u/1/f/fdc/web/bronx267.jpg
- 395. file:///net/u/1/f/fdc/web/bronx268.jpg
- 396. file:///net/u/1/f/fdc/web/bronx269.jpg
- 397. file:///net/u/1/f/fdc/web/bronx27.jpg
- 398. file:///net/u/1/f/fdc/web/bronx270.jpg
- 399. file:///net/u/1/f/fdc/web/bronx271.jpg
- 400. file:///net/u/1/f/fdc/web/bronx272.jpg
- 401. file:///net/u/1/f/fdc/web/bronx273.jpg
- 402. file:///net/u/1/f/fdc/web/bronx274.jpg
- 403. file:///net/u/1/f/fdc/web/bronx275.jpg
- 404. file:///net/u/1/f/fdc/web/bronx276.jpg
- 405. file:///net/u/1/f/fdc/web/bronx277.jpg
- 406. file:///net/u/1/f/fdc/web/bronx278.jpg
- 407. file:///net/u/1/f/fdc/web/bronx279.jpg
- 408. file:///net/u/1/f/fdc/web/bronx28.jpg
- 409. file:///net/u/1/f/fdc/web/bronx280.jpg
- 410. file:///net/u/1/f/fdc/web/bronx281.jpg
- 411. file:///net/u/1/f/fdc/web/bronx282.jpg
- 412. file:///net/u/1/f/fdc/web/bronx283.jpg
- 413. file:///net/u/1/f/fdc/web/bronx284.jpg
- 414. file:///net/u/1/f/fdc/web/bronx285.jpg
- 415. file:///net/u/1/f/fdc/web/bronx286.jpg
- 416. file:///net/u/1/f/fdc/web/bronx287.jpg
- 417. file:///net/u/1/f/fdc/web/bronx288.jpg
- 418. file:///net/u/1/f/fdc/web/bronx289.jpg
- 419. file:///net/u/1/f/fdc/web/bronx29.jpg
- 420. file:///net/u/1/f/fdc/web/bronx290.jpg
- 421. file:///net/u/1/f/fdc/web/bronx291.jpg
- 422. file:///net/u/1/f/fdc/web/bronx292.jpg
- 423. file:///net/u/1/f/fdc/web/bronx293.jpg
- 424. file:///net/u/1/f/fdc/web/bronx294.jpg
- 425. file:///net/u/1/f/fdc/web/bronx295.jpg
- 426. file:///net/u/1/f/fdc/web/bronx296.jpg
- 427. file:///net/u/1/f/fdc/web/bronx297.jpg
- 428. file:///net/u/1/f/fdc/web/bronx298.jpg
- 429. file:///net/u/1/f/fdc/web/bronx299.jpg
- 430. file:///net/u/1/f/fdc/web/bronx3.jpg
- 431. file:///net/u/1/f/fdc/web/bronx30.jpg
- 432. file:///net/u/1/f/fdc/web/bronx300.jpg
- 433. file:///net/u/1/f/fdc/web/bronx300.jpg.%7E1%7E
- 434. file:///net/u/1/f/fdc/web/bronx301.jpg
- 435. file:///net/u/1/f/fdc/web/bronx302.jpg
- 436. file:///net/u/1/f/fdc/web/bronx303.jpg
- 437. file:///net/u/1/f/fdc/web/bronx304.jpg
- 438. file:///net/u/1/f/fdc/web/bronx305.jpg
- 439. file:///net/u/1/f/fdc/web/bronx306.jpg
- 440. file:///net/u/1/f/fdc/web/bronx307.jpg
- 441. file:///net/u/1/f/fdc/web/bronx308.jpg
- 442. file:///net/u/1/f/fdc/web/bronx309.jpg
- 443. file:///net/u/1/f/fdc/web/bronx31.jpg
- 444. file:///net/u/1/f/fdc/web/bronx310.jpg
- 445. file:///net/u/1/f/fdc/web/bronx311.jpg
- 446. file:///net/u/1/f/fdc/web/bronx312.jpg
- 447. file:///net/u/1/f/fdc/web/bronx313.jpg
- 448. file:///net/u/1/f/fdc/web/bronx314.jpg
- 449. file:///net/u/1/f/fdc/web/bronx315.jpg
- 450. file:///net/u/1/f/fdc/web/bronx316.jpg
- 451. file:///net/u/1/f/fdc/web/bronx317.jpg
- 452. file:///net/u/1/f/fdc/web/bronx318.jpg
- 453. file:///net/u/1/f/fdc/web/bronx319.jpg
- 454. file:///net/u/1/f/fdc/web/bronx32.jpg
- 455. file:///net/u/1/f/fdc/web/bronx320.jpg
- 456. file:///net/u/1/f/fdc/web/bronx321.jpg
- 457. file:///net/u/1/f/fdc/web/bronx322.jpg
- 458. file:///net/u/1/f/fdc/web/bronx323.jpg
- 459. file:///net/u/1/f/fdc/web/bronx324.jpg
- 460. file:///net/u/1/f/fdc/web/bronx325.jpg
- 461. file:///net/u/1/f/fdc/web/bronx326.jpg
- 462. file:///net/u/1/f/fdc/web/bronx327.jpg
- 463. file:///net/u/1/f/fdc/web/bronx328.jpg
- 464. file:///net/u/1/f/fdc/web/bronx329.jpg
- 465. file:///net/u/1/f/fdc/web/bronx33.jpg
- 466. file:///net/u/1/f/fdc/web/bronx330.jpg
- 467. file:///net/u/1/f/fdc/web/bronx331.jpg
- 468. file:///net/u/1/f/fdc/web/bronx332.jpg
- 469. file:///net/u/1/f/fdc/web/bronx333.jpg
- 470. file:///net/u/1/f/fdc/web/bronx334.jpg
- 471. file:///net/u/1/f/fdc/web/bronx335.jpg
- 472. file:///net/u/1/f/fdc/web/bronx336.jpg
- 473. file:///net/u/1/f/fdc/web/bronx337.jpg
- 474. file:///net/u/1/f/fdc/web/bronx338.jpg
- 475. file:///net/u/1/f/fdc/web/bronx339.jpg
- 476. file:///net/u/1/f/fdc/web/bronx34.jpg
- 477. file:///net/u/1/f/fdc/web/bronx340.jpg
- 478. file:///net/u/1/f/fdc/web/bronx341.jpg
- 479. file:///net/u/1/f/fdc/web/bronx342.jpg
- 480. file:///net/u/1/f/fdc/web/bronx343.jpg
- 481. file:///net/u/1/f/fdc/web/bronx344.jpg
- 482. file:///net/u/1/f/fdc/web/bronx345.jpg
- 483. file:///net/u/1/f/fdc/web/bronx346.jpg
- 484. file:///net/u/1/f/fdc/web/bronx347.jpg
- 485. file:///net/u/1/f/fdc/web/bronx348.jpg
- 486. file:///net/u/1/f/fdc/web/bronx349.jpg
- 487. file:///net/u/1/f/fdc/web/bronx35.jpg
- 488. file:///net/u/1/f/fdc/web/bronx350.jpg
- 489. file:///net/u/1/f/fdc/web/bronx351.jpg
- 490. file:///net/u/1/f/fdc/web/bronx352.jpg
- 491. file:///net/u/1/f/fdc/web/bronx353.jpg
- 492. file:///net/u/1/f/fdc/web/bronx354.jpg
- 493. file:///net/u/1/f/fdc/web/bronx355.jpg
- 494. file:///net/u/1/f/fdc/web/bronx356.jpg
- 495. file:///net/u/1/f/fdc/web/bronx357.jpg
- 496. file:///net/u/1/f/fdc/web/bronx358.jpg
- 497. file:///net/u/1/f/fdc/web/bronx359.jpg
- 498. file:///net/u/1/f/fdc/web/bronx36.jpg
- 499. file:///net/u/1/f/fdc/web/bronx360.jpg
- 500. file:///net/u/1/f/fdc/web/bronx361.jpg
- 501. file:///net/u/1/f/fdc/web/bronx362.jpg
- 502. file:///net/u/1/f/fdc/web/bronx363.jpg
- 503. file:///net/u/1/f/fdc/web/bronx364.jpg
- 504. file:///net/u/1/f/fdc/web/bronx365.jpg
- 505. file:///net/u/1/f/fdc/web/bronx366.jpg
- 506. file:///net/u/1/f/fdc/web/bronx367.jpg
- 507. file:///net/u/1/f/fdc/web/bronx368.jpg
- 508. file:///net/u/1/f/fdc/web/bronx369.jpg
- 509. file:///net/u/1/f/fdc/web/bronx37.jpg
- 510. file:///net/u/1/f/fdc/web/bronx370.jpg
- 511. file:///net/u/1/f/fdc/web/bronx371.jpg
- 512. file:///net/u/1/f/fdc/web/bronx372.jpg
- 513. file:///net/u/1/f/fdc/web/bronx373.jpg
- 514. file:///net/u/1/f/fdc/web/bronx374.jpg
- 515. file:///net/u/1/f/fdc/web/bronx375.jpg
- 516. file:///net/u/1/f/fdc/web/bronx376.jpg
- 517. file:///net/u/1/f/fdc/web/bronx377.jpg
- 518. file:///net/u/1/f/fdc/web/bronx378.jpg
- 519. file:///net/u/1/f/fdc/web/bronx379.jpg
- 520. file:///net/u/1/f/fdc/web/bronx38.jpg
- 521. file:///net/u/1/f/fdc/web/bronx380.jpg
- 522. file:///net/u/1/f/fdc/web/bronx381.jpg
- 523. file:///net/u/1/f/fdc/web/bronx382.jpg
- 524. file:///net/u/1/f/fdc/web/bronx383.jpg
- 525. file:///net/u/1/f/fdc/web/bronx384.jpg
- 526. file:///net/u/1/f/fdc/web/bronx385.jpg
- 527. file:///net/u/1/f/fdc/web/bronx386.jpg
- 528. file:///net/u/1/f/fdc/web/bronx387.jpg
- 529. file:///net/u/1/f/fdc/web/bronx388.jpg
- 530. file:///net/u/1/f/fdc/web/bronx389.jpg
- 531. file:///net/u/1/f/fdc/web/bronx39.jpg
- 532. file:///net/u/1/f/fdc/web/bronx390.jpg
- 533. file:///net/u/1/f/fdc/web/bronx391.jpg
- 534. file:///net/u/1/f/fdc/web/bronx392.jpg
- 535. file:///net/u/1/f/fdc/web/bronx393.jpg
- 536. file:///net/u/1/f/fdc/web/bronx394.jpg
- 537. file:///net/u/1/f/fdc/web/bronx395.jpg
- 538. file:///net/u/1/f/fdc/web/bronx396.jpg
- 539. file:///net/u/1/f/fdc/web/bronx397.jpg
- 540. file:///net/u/1/f/fdc/web/bronx398.jpg
- 541. file:///net/u/1/f/fdc/web/bronx399.jpg
- 542. file:///net/u/1/f/fdc/web/bronx4.jpg
- 543. file:///net/u/1/f/fdc/web/bronx40.jpg
- 544. file:///net/u/1/f/fdc/web/bronx400.jpg
- 545. file:///net/u/1/f/fdc/web/bronx401.jpg
- 546. file:///net/u/1/f/fdc/web/bronx402.jpg
- 547. file:///net/u/1/f/fdc/web/bronx403.jpg
- 548. file:///net/u/1/f/fdc/web/bronx403.jpg.%7E1%7E
- 549. file:///net/u/1/f/fdc/web/bronx404.jpg
- 550. file:///net/u/1/f/fdc/web/bronx405.jpg
- 551. file:///net/u/1/f/fdc/web/bronx406.jpg
- 552. file:///net/u/1/f/fdc/web/bronx407.jpg
- 553. file:///net/u/1/f/fdc/web/bronx408.jpg
- 554. file:///net/u/1/f/fdc/web/bronx408.jpg.%7E1%7E
- 555. file:///net/u/1/f/fdc/web/bronx408.txt.%7E1%7E
- 556. file:///net/u/1/f/fdc/web/bronx409.jpg
- 557. file:///net/u/1/f/fdc/web/bronx41.jpg
- 558. file:///net/u/1/f/fdc/web/bronx410.jpg
- 559. file:///net/u/1/f/fdc/web/bronx410.txt.%7E1%7E
- 560. file:///net/u/1/f/fdc/web/bronx411.jpg
- 561. file:///net/u/1/f/fdc/web/bronx412.jpg
- 562. file:///net/u/1/f/fdc/web/bronx413.jpg
- 563. file:///net/u/1/f/fdc/web/bronx414.jpg
- 564. file:///net/u/1/f/fdc/web/bronx415.jpg
- 565. file:///net/u/1/f/fdc/web/bronx415.txt.%7E1%7E
- 566. file:///net/u/1/f/fdc/web/bronx416.jpg
- 567. file:///net/u/1/f/fdc/web/bronx417.jpg
- 568. file:///net/u/1/f/fdc/web/bronx418.jpg
- 569. file:///net/u/1/f/fdc/web/bronx419.jpg
- 570. file:///net/u/1/f/fdc/web/bronx42.jpg
- 571. file:///net/u/1/f/fdc/web/bronx420.jpg
- 572. file:///net/u/1/f/fdc/web/bronx421.jpg
- 573. file:///net/u/1/f/fdc/web/bronx422.jpg
- 574. file:///net/u/1/f/fdc/web/bronx423.jpg
- 575. file:///net/u/1/f/fdc/web/bronx423.jpg.%7E1%7E
- 576. file:///net/u/1/f/fdc/web/bronx424.jpg
- 577. file:///net/u/1/f/fdc/web/bronx425.jpg
- 578. file:///net/u/1/f/fdc/web/bronx426.jpg
- 579. file:///net/u/1/f/fdc/web/bronx427.jpg
- 580. file:///net/u/1/f/fdc/web/bronx428.jpg
- 581. file:///net/u/1/f/fdc/web/bronx429.jpg
- 582. file:///net/u/1/f/fdc/web/bronx43.jpg
- 583. file:///net/u/1/f/fdc/web/bronx430.jpg
- 584. file:///net/u/1/f/fdc/web/bronx431.jpg
- 585. file:///net/u/1/f/fdc/web/bronx432.jpg
- 586. file:///net/u/1/f/fdc/web/bronx433.jpg
- 587. file:///net/u/1/f/fdc/web/bronx434.jpg
- 588. file:///net/u/1/f/fdc/web/bronx435.jpg
- 589. file:///net/u/1/f/fdc/web/bronx436.jpg
- 590. file:///net/u/1/f/fdc/web/bronx437.jpg
- 591. file:///net/u/1/f/fdc/web/bronx438.jpg
- 592. file:///net/u/1/f/fdc/web/bronx439.jpg
- 593. file:///net/u/1/f/fdc/web/bronx44.jpg
- 594. file:///net/u/1/f/fdc/web/bronx440.jpg
- 595. file:///net/u/1/f/fdc/web/bronx441.jpg
- 596. file:///net/u/1/f/fdc/web/bronx442.jpg
- 597. file:///net/u/1/f/fdc/web/bronx443.jpg
- 598. file:///net/u/1/f/fdc/web/bronx444.jpg
- 599. file:///net/u/1/f/fdc/web/bronx445.jpg
- 600. file:///net/u/1/f/fdc/web/bronx446.jpg
- 601. file:///net/u/1/f/fdc/web/bronx447.jpg
- 602. file:///net/u/1/f/fdc/web/bronx448.jpg
- 603. file:///net/u/1/f/fdc/web/bronx449.jpg
- 604. file:///net/u/1/f/fdc/web/bronx45.jpg
- 605. file:///net/u/1/f/fdc/web/bronx450.jpg
- 606. file:///net/u/1/f/fdc/web/bronx451.jpg
- 607. file:///net/u/1/f/fdc/web/bronx452.jpg
- 608. file:///net/u/1/f/fdc/web/bronx453.jpg
- 609. file:///net/u/1/f/fdc/web/bronx454.jpg
- 610. file:///net/u/1/f/fdc/web/bronx455.jpg
- 611. file:///net/u/1/f/fdc/web/bronx456.jpg
- 612. file:///net/u/1/f/fdc/web/bronx457.jpg
- 613. file:///net/u/1/f/fdc/web/bronx458.jpg
- 614. file:///net/u/1/f/fdc/web/bronx459.jpg
- 615. file:///net/u/1/f/fdc/web/bronx46.jpg
- 616. file:///net/u/1/f/fdc/web/bronx460.jpg
- 617. file:///net/u/1/f/fdc/web/bronx461.jpg
- 618. file:///net/u/1/f/fdc/web/bronx462.jpg
- 619. file:///net/u/1/f/fdc/web/bronx463.jpg
- 620. file:///net/u/1/f/fdc/web/bronx464.jpg
- 621. file:///net/u/1/f/fdc/web/bronx465.jpg
- 622. file:///net/u/1/f/fdc/web/bronx466.jpg
- 623. file:///net/u/1/f/fdc/web/bronx467.jpg
- 624. file:///net/u/1/f/fdc/web/bronx468.jpg
- 625. file:///net/u/1/f/fdc/web/bronx469.jpg
- 626. file:///net/u/1/f/fdc/web/bronx47.jpg
- 627. file:///net/u/1/f/fdc/web/bronx470.jpg
- 628. file:///net/u/1/f/fdc/web/bronx471.jpg
- 629. file:///net/u/1/f/fdc/web/bronx472.jpg
- 630. file:///net/u/1/f/fdc/web/bronx473.jpg
- 631. file:///net/u/1/f/fdc/web/bronx474.jpg
- 632. file:///net/u/1/f/fdc/web/bronx475.jpg
- 633. file:///net/u/1/f/fdc/web/bronx476.jpg
- 634. file:///net/u/1/f/fdc/web/bronx477.jpg
- 635. file:///net/u/1/f/fdc/web/bronx478.jpg
- 636. file:///net/u/1/f/fdc/web/bronx479.jpg
- 637. file:///net/u/1/f/fdc/web/bronx48.jpg
- 638. file:///net/u/1/f/fdc/web/bronx480.jpg
- 639. file:///net/u/1/f/fdc/web/bronx480.txt.%7E1%7E
- 640. file:///net/u/1/f/fdc/web/bronx481.jpg
- 641. file:///net/u/1/f/fdc/web/bronx482.jpg
- 642. file:///net/u/1/f/fdc/web/bronx483.jpg
- 643. file:///net/u/1/f/fdc/web/bronx484.jpg
- 644. file:///net/u/1/f/fdc/web/bronx485.jpg
- 645. file:///net/u/1/f/fdc/web/bronx486.jpg
- 646. file:///net/u/1/f/fdc/web/bronx486.txt.%7E1%7E
- 647. file:///net/u/1/f/fdc/web/bronx487.jpg
- 648. file:///net/u/1/f/fdc/web/bronx488.jpg
- 649. file:///net/u/1/f/fdc/web/bronx488.txt.%7E1%7E
- 650. file:///net/u/1/f/fdc/web/bronx489.jpg
- 651. file:///net/u/1/f/fdc/web/bronx489.txt.%7E1%7E
- 652. file:///net/u/1/f/fdc/web/bronx49.jpg
- 653. file:///net/u/1/f/fdc/web/bronx490.jpg
- 654. file:///net/u/1/f/fdc/web/bronx491.jpg
- 655. file:///net/u/1/f/fdc/web/bronx492.jpg
- 656. file:///net/u/1/f/fdc/web/bronx492.txt.%7E1%7E
- 657. file:///net/u/1/f/fdc/web/bronx493.jpg
- 658. file:///net/u/1/f/fdc/web/bronx493.txt.%7E1%7E
- 659. file:///net/u/1/f/fdc/web/bronx494.jpg
- 660. file:///net/u/1/f/fdc/web/bronx494.txt.%7E1%7E
- 661. file:///net/u/1/f/fdc/web/bronx494.txt.%7E2%7E
- 662. file:///net/u/1/f/fdc/web/bronx495.jpg
- 663. file:///net/u/1/f/fdc/web/bronx496.jpg
- 664. file:///net/u/1/f/fdc/web/bronx496.txt.%7E1%7E
- 665. file:///net/u/1/f/fdc/web/bronx497.jpg
- 666. file:///net/u/1/f/fdc/web/bronx498.jpg
- 667. file:///net/u/1/f/fdc/web/bronx499.jpg
- 668. file:///net/u/1/f/fdc/web/bronx5.jpg
- 669. file:///net/u/1/f/fdc/web/bronx50.jpg
- 670. file:///net/u/1/f/fdc/web/bronx500.jpg
- 671. file:///net/u/1/f/fdc/web/bronx501.jpg
- 672. file:///net/u/1/f/fdc/web/bronx502.jpg
- 673. file:///net/u/1/f/fdc/web/bronx503.jpg
- 674. file:///net/u/1/f/fdc/web/bronx504.jpg
- 675. file:///net/u/1/f/fdc/web/bronx505.jpg
- 676. file:///net/u/1/f/fdc/web/bronx506.jpg
- 677. file:///net/u/1/f/fdc/web/bronx507.jpg
- 678. file:///net/u/1/f/fdc/web/bronx508.jpg
- 679. file:///net/u/1/f/fdc/web/bronx509.jpg
- 680. file:///net/u/1/f/fdc/web/bronx51.jpg
- 681. file:///net/u/1/f/fdc/web/bronx510.jpg
- 682. file:///net/u/1/f/fdc/web/bronx511.jpg
- 683. file:///net/u/1/f/fdc/web/bronx512.jpg
- 684. file:///net/u/1/f/fdc/web/bronx513.jpg
- 685. file:///net/u/1/f/fdc/web/bronx514.jpg
- 686. file:///net/u/1/f/fdc/web/bronx515.jpg
- 687. file:///net/u/1/f/fdc/web/bronx516.jpg
- 688. file:///net/u/1/f/fdc/web/bronx517.jpg
- 689. file:///net/u/1/f/fdc/web/bronx518.jpg
- 690. file:///net/u/1/f/fdc/web/bronx519.jpg
- 691. file:///net/u/1/f/fdc/web/bronx52.jpg
- 692. file:///net/u/1/f/fdc/web/bronx520.jpg
- 693. file:///net/u/1/f/fdc/web/bronx521.jpg
- 694. file:///net/u/1/f/fdc/web/bronx522.jpg
- 695. file:///net/u/1/f/fdc/web/bronx523.jpg
- 696. file:///net/u/1/f/fdc/web/bronx524.jpg
- 697. file:///net/u/1/f/fdc/web/bronx525.jpg
- 698. file:///net/u/1/f/fdc/web/bronx526.jpg
- 699. file:///net/u/1/f/fdc/web/bronx527.jpg
- 700. file:///net/u/1/f/fdc/web/bronx528.jpg
- 701. file:///net/u/1/f/fdc/web/bronx529.jpg
- 702. file:///net/u/1/f/fdc/web/bronx53.jpg
- 703. file:///net/u/1/f/fdc/web/bronx530.jpg
- 704. file:///net/u/1/f/fdc/web/bronx531.jpg
- 705. file:///net/u/1/f/fdc/web/bronx532.jpg
- 706. file:///net/u/1/f/fdc/web/bronx533.jpg
- 707. file:///net/u/1/f/fdc/web/bronx534.jpg
- 708. file:///net/u/1/f/fdc/web/bronx535.jpg
- 709. file:///net/u/1/f/fdc/web/bronx536.jpg
- 710. file:///net/u/1/f/fdc/web/bronx537.jpg
- 711. file:///net/u/1/f/fdc/web/bronx538.jpg
- 712. file:///net/u/1/f/fdc/web/bronx539.jpg
- 713. file:///net/u/1/f/fdc/web/bronx54.jpg
- 714. file:///net/u/1/f/fdc/web/bronx540.jpg
- 715. file:///net/u/1/f/fdc/web/bronx541.jpg
- 716. file:///net/u/1/f/fdc/web/bronx542.jpg
- 717. file:///net/u/1/f/fdc/web/bronx543.jpg
- 718. file:///net/u/1/f/fdc/web/bronx544.jpg
- 719. file:///net/u/1/f/fdc/web/bronx545.jpg
- 720. file:///net/u/1/f/fdc/web/bronx546.jpg
- 721. file:///net/u/1/f/fdc/web/bronx547.jpg
- 722. file:///net/u/1/f/fdc/web/bronx548.jpg
- 723. file:///net/u/1/f/fdc/web/bronx549.jpg
- 724. file:///net/u/1/f/fdc/web/bronx55.jpg
- 725. file:///net/u/1/f/fdc/web/bronx550.jpg
- 726. file:///net/u/1/f/fdc/web/bronx551.jpg
- 727. file:///net/u/1/f/fdc/web/bronx552.jpg
- 728. file:///net/u/1/f/fdc/web/bronx553.jpg
- 729. file:///net/u/1/f/fdc/web/bronx554.jpg
- 730. file:///net/u/1/f/fdc/web/bronx555.jpg
- 731. file:///net/u/1/f/fdc/web/bronx556.jpg
- 732. file:///net/u/1/f/fdc/web/bronx557.jpg
- 733. file:///net/u/1/f/fdc/web/bronx558.jpg
- 734. file:///net/u/1/f/fdc/web/bronx559.jpg
- 735. file:///net/u/1/f/fdc/web/bronx56.jpg
- 736. file:///net/u/1/f/fdc/web/bronx560.jpg
- 737. file:///net/u/1/f/fdc/web/bronx561.jpg
- 738. file:///net/u/1/f/fdc/web/bronx562.jpg
- 739. file:///net/u/1/f/fdc/web/bronx563.jpg
- 740. file:///net/u/1/f/fdc/web/bronx564.jpg
- 741. file:///net/u/1/f/fdc/web/bronx565.jpg
- 742. file:///net/u/1/f/fdc/web/bronx566.jpg
- 743. file:///net/u/1/f/fdc/web/bronx567.jpg
- 744. file:///net/u/1/f/fdc/web/bronx568.jpg
- 745. file:///net/u/1/f/fdc/web/bronx569.jpg
- 746. file:///net/u/1/f/fdc/web/bronx57.jpg
- 747. file:///net/u/1/f/fdc/web/bronx570.jpg
- 748. file:///net/u/1/f/fdc/web/bronx571.jpg
- 749. file:///net/u/1/f/fdc/web/bronx572.jpg
- 750. file:///net/u/1/f/fdc/web/bronx573.jpg
- 751. file:///net/u/1/f/fdc/web/bronx574.jpg
- 752. file:///net/u/1/f/fdc/web/bronx575.jpg
- 753. file:///net/u/1/f/fdc/web/bronx576.jpg
- 754. file:///net/u/1/f/fdc/web/bronx577.jpg
- 755. file:///net/u/1/f/fdc/web/bronx578.jpg
- 756. file:///net/u/1/f/fdc/web/bronx579.jpg
- 757. file:///net/u/1/f/fdc/web/bronx58.jpg
- 758. file:///net/u/1/f/fdc/web/bronx580.jpg
- 759. file:///net/u/1/f/fdc/web/bronx581.jpg
- 760. file:///net/u/1/f/fdc/web/bronx582.jpg
- 761. file:///net/u/1/f/fdc/web/bronx583.jpg
- 762. file:///net/u/1/f/fdc/web/bronx584.jpg
- 763. file:///net/u/1/f/fdc/web/bronx585.jpg
- 764. file:///net/u/1/f/fdc/web/bronx586.jpg
- 765. file:///net/u/1/f/fdc/web/bronx587.jpg
- 766. file:///net/u/1/f/fdc/web/bronx588.jpg
- 767. file:///net/u/1/f/fdc/web/bronx589.jpg
- 768. file:///net/u/1/f/fdc/web/bronx59.jpg
- 769. file:///net/u/1/f/fdc/web/bronx590.jpg
- 770. file:///net/u/1/f/fdc/web/bronx591.jpg
- 771. file:///net/u/1/f/fdc/web/bronx592.jpg
- 772. file:///net/u/1/f/fdc/web/bronx593.jpg
- 773. file:///net/u/1/f/fdc/web/bronx594.jpg
- 774. file:///net/u/1/f/fdc/web/bronx595.jpg
- 775. file:///net/u/1/f/fdc/web/bronx596.jpg
- 776. file:///net/u/1/f/fdc/web/bronx597.jpg
- 777. file:///net/u/1/f/fdc/web/bronx598.jpg
- 778. file:///net/u/1/f/fdc/web/bronx599.jpg
- 779. file:///net/u/1/f/fdc/web/bronx6.jpg
- 780. file:///net/u/1/f/fdc/web/bronx60.jpg
- 781. file:///net/u/1/f/fdc/web/bronx600.jpg
- 782. file:///net/u/1/f/fdc/web/bronx601.jpg
- 783. file:///net/u/1/f/fdc/web/bronx601.jpg.%7E1%7E
- 784. file:///net/u/1/f/fdc/web/bronx602.jpg
- 785. file:///net/u/1/f/fdc/web/bronx603.jpg
- 786. file:///net/u/1/f/fdc/web/bronx604.jpg
- 787. file:///net/u/1/f/fdc/web/bronx605.jpg
- 788. file:///net/u/1/f/fdc/web/bronx606.jpg
- 789. file:///net/u/1/f/fdc/web/bronx607.jpg
- 790. file:///net/u/1/f/fdc/web/bronx608.jpg
- 791. file:///net/u/1/f/fdc/web/bronx609.jpg
- 792. file:///net/u/1/f/fdc/web/bronx61.jpg
- 793. file:///net/u/1/f/fdc/web/bronx610.jpg
- 794. file:///net/u/1/f/fdc/web/bronx611.jpg
- 795. file:///net/u/1/f/fdc/web/bronx612.jpg
- 796. file:///net/u/1/f/fdc/web/bronx613.jpg
- 797. file:///net/u/1/f/fdc/web/bronx614.jpg
- 798. file:///net/u/1/f/fdc/web/bronx615.jpg
- 799. file:///net/u/1/f/fdc/web/bronx616.jpg
- 800. file:///net/u/1/f/fdc/web/bronx617.jpg
- 801. file:///net/u/1/f/fdc/web/bronx618.jpg
- 802. file:///net/u/1/f/fdc/web/bronx619.jpg
- 803. file:///net/u/1/f/fdc/web/bronx62.jpg
- 804. file:///net/u/1/f/fdc/web/bronx620.jpg
- 805. file:///net/u/1/f/fdc/web/bronx621.jpg
- 806. file:///net/u/1/f/fdc/web/bronx622.jpg
- 807. file:///net/u/1/f/fdc/web/bronx623.jpg
- 808. file:///net/u/1/f/fdc/web/bronx624.jpg
- 809. file:///net/u/1/f/fdc/web/bronx625.jpg
- 810. file:///net/u/1/f/fdc/web/bronx626.jpg
- 811. file:///net/u/1/f/fdc/web/bronx627.jpg
- 812. file:///net/u/1/f/fdc/web/bronx628.jpg
- 813. file:///net/u/1/f/fdc/web/bronx629.jpg
- 814. file:///net/u/1/f/fdc/web/bronx63.jpg
- 815. file:///net/u/1/f/fdc/web/bronx630.jpg
- 816. file:///net/u/1/f/fdc/web/bronx631.jpg
- 817. file:///net/u/1/f/fdc/web/bronx632.jpg
- 818. file:///net/u/1/f/fdc/web/bronx633.jpg
- 819. file:///net/u/1/f/fdc/web/bronx634.jpg
- 820. file:///net/u/1/f/fdc/web/bronx635.jpg
- 821. file:///net/u/1/f/fdc/web/bronx636.jpg
- 822. file:///net/u/1/f/fdc/web/bronx637.jpg
- 823. file:///net/u/1/f/fdc/web/bronx638.jpg
- 824. file:///net/u/1/f/fdc/web/bronx639.jpg
- 825. file:///net/u/1/f/fdc/web/bronx64.jpg
- 826. file:///net/u/1/f/fdc/web/bronx640.jpg
- 827. file:///net/u/1/f/fdc/web/bronx641.jpg
- 828. file:///net/u/1/f/fdc/web/bronx642.jpg
- 829. file:///net/u/1/f/fdc/web/bronx643.jpg
- 830. file:///net/u/1/f/fdc/web/bronx644.jpg
- 831. file:///net/u/1/f/fdc/web/bronx645.jpg
- 832. file:///net/u/1/f/fdc/web/bronx646.jpg
- 833. file:///net/u/1/f/fdc/web/bronx647.jpg
- 834. file:///net/u/1/f/fdc/web/bronx648.jpg
- 835. file:///net/u/1/f/fdc/web/bronx649.jpg
- 836. file:///net/u/1/f/fdc/web/bronx65.jpg
- 837. file:///net/u/1/f/fdc/web/bronx650.jpg
- 838. file:///net/u/1/f/fdc/web/bronx650.jpg.%7E1%7E
- 839. file:///net/u/1/f/fdc/web/bronx651.jpg
- 840. file:///net/u/1/f/fdc/web/bronx651.jpg.%7E1%7E
- 841. file:///net/u/1/f/fdc/web/bronx652.jpg
- 842. file:///net/u/1/f/fdc/web/bronx652.jpg.%7E1%7E
- 843. file:///net/u/1/f/fdc/web/bronx653.jpg
- 844. file:///net/u/1/f/fdc/web/bronx653.jpg.%7E1%7E
- 845. file:///net/u/1/f/fdc/web/bronx654.jpg
- 846. file:///net/u/1/f/fdc/web/bronx654.jpg.%7E1%7E
- 847. file:///net/u/1/f/fdc/web/bronx655.jpg
- 848. file:///net/u/1/f/fdc/web/bronx655.jpg.%7E1%7E
- 849. file:///net/u/1/f/fdc/web/bronx656.jpg
- 850. file:///net/u/1/f/fdc/web/bronx656.jpg.%7E1%7E
- 851. file:///net/u/1/f/fdc/web/bronx657.jpg
- 852. file:///net/u/1/f/fdc/web/bronx657.jpg.%7E1%7E
- 853. file:///net/u/1/f/fdc/web/bronx658.jpg
- 854. file:///net/u/1/f/fdc/web/bronx658.jpg.%7E1%7E
- 855. file:///net/u/1/f/fdc/web/bronx659.jpg
- 856. file:///net/u/1/f/fdc/web/bronx659.jpg.%7E1%7E
- 857. file:///net/u/1/f/fdc/web/bronx66.jpg
- 858. file:///net/u/1/f/fdc/web/bronx660.jpg
- 859. file:///net/u/1/f/fdc/web/bronx660.jpg.%7E1%7E
- 860. file:///net/u/1/f/fdc/web/bronx661.jpg
- 861. file:///net/u/1/f/fdc/web/bronx662.jpg
- 862. file:///net/u/1/f/fdc/web/bronx663.jpg
- 863. file:///net/u/1/f/fdc/web/bronx664.jpg
- 864. file:///net/u/1/f/fdc/web/bronx665.jpg
- 865. file:///net/u/1/f/fdc/web/bronx666.jpg
- 866. file:///net/u/1/f/fdc/web/bronx667.jpg
- 867. file:///net/u/1/f/fdc/web/bronx668.jpg
- 868. file:///net/u/1/f/fdc/web/bronx669.jpg
- 869. file:///net/u/1/f/fdc/web/bronx67.jpg
- 870. file:///net/u/1/f/fdc/web/bronx670.jpg
- 871. file:///net/u/1/f/fdc/web/bronx671.jpg
- 872. file:///net/u/1/f/fdc/web/bronx672.jpg
- 873. file:///net/u/1/f/fdc/web/bronx673.jpg
- 874. file:///net/u/1/f/fdc/web/bronx674.jpg
- 875. file:///net/u/1/f/fdc/web/bronx675.jpg
- 876. file:///net/u/1/f/fdc/web/bronx676.jpg
- 877. file:///net/u/1/f/fdc/web/bronx677.jpg
- 878. file:///net/u/1/f/fdc/web/bronx678.jpg
- 879. file:///net/u/1/f/fdc/web/bronx679.jpg
- 880. file:///net/u/1/f/fdc/web/bronx68.jpg
- 881. file:///net/u/1/f/fdc/web/bronx680.jpg
- 882. file:///net/u/1/f/fdc/web/bronx681.jpg
- 883. file:///net/u/1/f/fdc/web/bronx682.jpg
- 884. file:///net/u/1/f/fdc/web/bronx683.jpg
- 885. file:///net/u/1/f/fdc/web/bronx684.jpg
- 886. file:///net/u/1/f/fdc/web/bronx685.jpg
- 887. file:///net/u/1/f/fdc/web/bronx686.jpg
- 888. file:///net/u/1/f/fdc/web/bronx687.jpg
- 889. file:///net/u/1/f/fdc/web/bronx688.jpg
- 890. file:///net/u/1/f/fdc/web/bronx689.jpg
- 891. file:///net/u/1/f/fdc/web/bronx69.jpg
- 892. file:///net/u/1/f/fdc/web/bronx690.jpg
- 893. file:///net/u/1/f/fdc/web/bronx691.jpg
- 894. file:///net/u/1/f/fdc/web/bronx692.jpg
- 895. file:///net/u/1/f/fdc/web/bronx693.jpg
- 896. file:///net/u/1/f/fdc/web/bronx694.jpg
- 897. file:///net/u/1/f/fdc/web/bronx695.jpg
- 898. file:///net/u/1/f/fdc/web/bronx696.jpg
- 899. file:///net/u/1/f/fdc/web/bronx697.jpg
- 900. file:///net/u/1/f/fdc/web/bronx698.jpg
- 901. file:///net/u/1/f/fdc/web/bronx699.jpg
- 902. file:///net/u/1/f/fdc/web/bronx7.jpg
- 903. file:///net/u/1/f/fdc/web/bronx70.jpg
- 904. file:///net/u/1/f/fdc/web/bronx700.jpg
- 905. file:///net/u/1/f/fdc/web/bronx701.jpg
- 906. file:///net/u/1/f/fdc/web/bronx702.jpg
- 907. file:///net/u/1/f/fdc/web/bronx703.jpg
- 908. file:///net/u/1/f/fdc/web/bronx704.jpg
- 909. file:///net/u/1/f/fdc/web/bronx705.jpg
- 910. file:///net/u/1/f/fdc/web/bronx706.jpg
- 911. file:///net/u/1/f/fdc/web/bronx707.jpg
- 912. file:///net/u/1/f/fdc/web/bronx708.jpg
- 913. file:///net/u/1/f/fdc/web/bronx709.jpg
- 914. file:///net/u/1/f/fdc/web/bronx71.jpg
- 915. file:///net/u/1/f/fdc/web/bronx710.jpg
- 916. file:///net/u/1/f/fdc/web/bronx711.jpg
- 917. file:///net/u/1/f/fdc/web/bronx712.jpg
- 918. file:///net/u/1/f/fdc/web/bronx713.jpg
- 919. file:///net/u/1/f/fdc/web/bronx714.jpg
- 920. file:///net/u/1/f/fdc/web/bronx715.jpg
- 921. file:///net/u/1/f/fdc/web/bronx716.jpg
- 922. file:///net/u/1/f/fdc/web/bronx717.jpg
- 923. file:///net/u/1/f/fdc/web/bronx718.jpg
- 924. file:///net/u/1/f/fdc/web/bronx719.jpg
- 925. file:///net/u/1/f/fdc/web/bronx72.jpg
- 926. file:///net/u/1/f/fdc/web/bronx720.jpg
- 927. file:///net/u/1/f/fdc/web/bronx721.jpg
- 928. file:///net/u/1/f/fdc/web/bronx722.jpg
- 929. file:///net/u/1/f/fdc/web/bronx723.jpg
- 930. file:///net/u/1/f/fdc/web/bronx724.jpg
- 931. file:///net/u/1/f/fdc/web/bronx725.jpg
- 932. file:///net/u/1/f/fdc/web/bronx726.jpg
- 933. file:///net/u/1/f/fdc/web/bronx727.jpg
- 934. file:///net/u/1/f/fdc/web/bronx728.jpg
- 935. file:///net/u/1/f/fdc/web/bronx729.jpg
- 936. file:///net/u/1/f/fdc/web/bronx73.jpg
- 937. file:///net/u/1/f/fdc/web/bronx730.jpg
- 938. file:///net/u/1/f/fdc/web/bronx731.jpg
- 939. file:///net/u/1/f/fdc/web/bronx732.jpg
- 940. file:///net/u/1/f/fdc/web/bronx733.jpg
- 941. file:///net/u/1/f/fdc/web/bronx734.jpg
- 942. file:///net/u/1/f/fdc/web/bronx735.jpg
- 943. file:///net/u/1/f/fdc/web/bronx736.jpg
- 944. file:///net/u/1/f/fdc/web/bronx737.jpg
- 945. file:///net/u/1/f/fdc/web/bronx738.jpg
- 946. file:///net/u/1/f/fdc/web/bronx739.jpg
- 947. file:///net/u/1/f/fdc/web/bronx74.jpg
- 948. file:///net/u/1/f/fdc/web/bronx740.jpg
- 949. file:///net/u/1/f/fdc/web/bronx741.jpg
- 950. file:///net/u/1/f/fdc/web/bronx742.jpg
- 951. file:///net/u/1/f/fdc/web/bronx743.jpg
- 952. file:///net/u/1/f/fdc/web/bronx744.jpg
- 953. file:///net/u/1/f/fdc/web/bronx745.jpg
- 954. file:///net/u/1/f/fdc/web/bronx746.jpg
- 955. file:///net/u/1/f/fdc/web/bronx747.jpg
- 956. file:///net/u/1/f/fdc/web/bronx748.html
- 957. file:///net/u/1/f/fdc/web/bronx748.jpg
- 958. file:///net/u/1/f/fdc/web/bronx749.jpg
- 959. file:///net/u/1/f/fdc/web/bronx75.jpg
- 960. file:///net/u/1/f/fdc/web/bronx750.jpg
- 961. file:///net/u/1/f/fdc/web/bronx751.jpg
- 962. file:///net/u/1/f/fdc/web/bronx752.jpg
- 963. file:///net/u/1/f/fdc/web/bronx753.jpg
- 964. file:///net/u/1/f/fdc/web/bronx754.jpg
- 965. file:///net/u/1/f/fdc/web/bronx755.jpg
- 966. file:///net/u/1/f/fdc/web/bronx756.jpg
- 967. file:///net/u/1/f/fdc/web/bronx757.jpg
- 968. file:///net/u/1/f/fdc/web/bronx758.jpg
- 969. file:///net/u/1/f/fdc/web/bronx759.jpg
- 970. file:///net/u/1/f/fdc/web/bronx76.jpg
- 971. file:///net/u/1/f/fdc/web/bronx760.jpg
- 972. file:///net/u/1/f/fdc/web/bronx761.jpg
- 973. file:///net/u/1/f/fdc/web/bronx762.jpg
- 974. file:///net/u/1/f/fdc/web/bronx763.jpg
- 975. file:///net/u/1/f/fdc/web/bronx764.jpg
- 976. file:///net/u/1/f/fdc/web/bronx765.jpg
- 977. file:///net/u/1/f/fdc/web/bronx766.jpg
- 978. file:///net/u/1/f/fdc/web/bronx767.jpg
- 979. file:///net/u/1/f/fdc/web/bronx768.jpg
- 980. file:///net/u/1/f/fdc/web/bronx769.jpg
- 981. file:///net/u/1/f/fdc/web/bronx77.jpg
- 982. file:///net/u/1/f/fdc/web/bronx770.jpg
- 983. file:///net/u/1/f/fdc/web/bronx771.jpg
- 984. file:///net/u/1/f/fdc/web/bronx772.jpg
- 985. file:///net/u/1/f/fdc/web/bronx773.jpg
- 986. file:///net/u/1/f/fdc/web/bronx774.jpg
- 987. file:///net/u/1/f/fdc/web/bronx775.jpg
- 988. file:///net/u/1/f/fdc/web/bronx776.jpg
- 989. file:///net/u/1/f/fdc/web/bronx777.jpg
- 990. file:///net/u/1/f/fdc/web/bronx778.jpg
- 991. file:///net/u/1/f/fdc/web/bronx779.jpg
- 992. file:///net/u/1/f/fdc/web/bronx78.jpg
- 993. file:///net/u/1/f/fdc/web/bronx780.jpg
- 994. file:///net/u/1/f/fdc/web/bronx781.jpg
- 995. file:///net/u/1/f/fdc/web/bronx782.jpg
- 996. file:///net/u/1/f/fdc/web/bronx783.jpg
- 997. file:///net/u/1/f/fdc/web/bronx784.jpg
- 998. file:///net/u/1/f/fdc/web/bronx785.jpg
- 999. file:///net/u/1/f/fdc/web/bronx786.jpg
- 1000. file:///net/u/1/f/fdc/web/bronx787.jpg
- 1001. file:///net/u/1/f/fdc/web/bronx788.jpg
- 1002. file:///net/u/1/f/fdc/web/bronx789.jpg
- 1003. file:///net/u/1/f/fdc/web/bronx79.jpg
- 1004. file:///net/u/1/f/fdc/web/bronx790.jpg
- 1005. file:///net/u/1/f/fdc/web/bronx791.jpg
- 1006. file:///net/u/1/f/fdc/web/bronx792.jpg
- 1007. file:///net/u/1/f/fdc/web/bronx793.jpg
- 1008. file:///net/u/1/f/fdc/web/bronx794.jpg
- 1009. file:///net/u/1/f/fdc/web/bronx795.jpg
- 1010. file:///net/u/1/f/fdc/web/bronx796.jpg
- 1011. file:///net/u/1/f/fdc/web/bronx797.jpg
- 1012. file:///net/u/1/f/fdc/web/bronx798.jpg
- 1013. file:///net/u/1/f/fdc/web/bronx799.jpg
- 1014. file:///net/u/1/f/fdc/web/bronx8.jpg
- 1015. file:///net/u/1/f/fdc/web/bronx80.jpg
- 1016. file:///net/u/1/f/fdc/web/bronx800.jpg
- 1017. file:///net/u/1/f/fdc/web/bronx801.jpg
- 1018. file:///net/u/1/f/fdc/web/bronx802.jpg
- 1019. file:///net/u/1/f/fdc/web/bronx803.jpg
- 1020. file:///net/u/1/f/fdc/web/bronx804.jpg
- 1021. file:///net/u/1/f/fdc/web/bronx805.jpg
- 1022. file:///net/u/1/f/fdc/web/bronx806.jpg
- 1023. file:///net/u/1/f/fdc/web/bronx807.jpg
- 1024. file:///net/u/1/f/fdc/web/bronx808.jpg
- 1025. file:///net/u/1/f/fdc/web/bronx809.jpg
- 1026. file:///net/u/1/f/fdc/web/bronx81.jpg
- 1027. file:///net/u/1/f/fdc/web/bronx810.jpg
- 1028. file:///net/u/1/f/fdc/web/bronx811.jpg
- 1029. file:///net/u/1/f/fdc/web/bronx812.jpg
- 1030. file:///net/u/1/f/fdc/web/bronx813.jpg
- 1031. file:///net/u/1/f/fdc/web/bronx814.jpg
- 1032. file:///net/u/1/f/fdc/web/bronx815.jpg
- 1033. file:///net/u/1/f/fdc/web/bronx816.jpg
- 1034. file:///net/u/1/f/fdc/web/bronx817.jpg
- 1035. file:///net/u/1/f/fdc/web/bronx818.jpg
- 1036. file:///net/u/1/f/fdc/web/bronx819.jpg
- 1037. file:///net/u/1/f/fdc/web/bronx82.jpg
- 1038. file:///net/u/1/f/fdc/web/bronx820.jpg
- 1039. file:///net/u/1/f/fdc/web/bronx821.jpg
- 1040. file:///net/u/1/f/fdc/web/bronx822.jpg
- 1041. file:///net/u/1/f/fdc/web/bronx823.jpg
- 1042. file:///net/u/1/f/fdc/web/bronx824.jpg
- 1043. file:///net/u/1/f/fdc/web/bronx825.jpg
- 1044. file:///net/u/1/f/fdc/web/bronx826.jpg
- 1045. file:///net/u/1/f/fdc/web/bronx827.jpg
- 1046. file:///net/u/1/f/fdc/web/bronx828.jpg
- 1047. file:///net/u/1/f/fdc/web/bronx829.jpg
- 1048. file:///net/u/1/f/fdc/web/bronx83.jpg
- 1049. file:///net/u/1/f/fdc/web/bronx830.jpg
- 1050. file:///net/u/1/f/fdc/web/bronx831.jpg
- 1051. file:///net/u/1/f/fdc/web/bronx832.jpg
- 1052. file:///net/u/1/f/fdc/web/bronx833.jpg
- 1053. file:///net/u/1/f/fdc/web/bronx834.jpg
- 1054. file:///net/u/1/f/fdc/web/bronx835.jpg
- 1055. file:///net/u/1/f/fdc/web/bronx836.jpg
- 1056. file:///net/u/1/f/fdc/web/bronx837.jpg
- 1057. file:///net/u/1/f/fdc/web/bronx838.jpg
- 1058. file:///net/u/1/f/fdc/web/bronx839.jpg
- 1059. file:///net/u/1/f/fdc/web/bronx84.jpg
- 1060. file:///net/u/1/f/fdc/web/bronx840.jpg
- 1061. file:///net/u/1/f/fdc/web/bronx841.jpg
- 1062. file:///net/u/1/f/fdc/web/bronx842.jpg
- 1063. file:///net/u/1/f/fdc/web/bronx843.jpg
- 1064. file:///net/u/1/f/fdc/web/bronx844.jpg
- 1065. file:///net/u/1/f/fdc/web/bronx845.jpg
- 1066. file:///net/u/1/f/fdc/web/bronx846.jpg
- 1067. file:///net/u/1/f/fdc/web/bronx847.jpg
- 1068. file:///net/u/1/f/fdc/web/bronx848.jpg
- 1069. file:///net/u/1/f/fdc/web/bronx849.jpg
- 1070. file:///net/u/1/f/fdc/web/bronx85.jpg
- 1071. file:///net/u/1/f/fdc/web/bronx850.jpg
- 1072. file:///net/u/1/f/fdc/web/bronx851.jpg
- 1073. file:///net/u/1/f/fdc/web/bronx852.jpg
- 1074. file:///net/u/1/f/fdc/web/bronx853.jpg
- 1075. file:///net/u/1/f/fdc/web/bronx854.jpg
- 1076. file:///net/u/1/f/fdc/web/bronx855.jpg
- 1077. file:///net/u/1/f/fdc/web/bronx856.jpg
- 1078. file:///net/u/1/f/fdc/web/bronx857.jpg
- 1079. file:///net/u/1/f/fdc/web/bronx858.jpg
- 1080. file:///net/u/1/f/fdc/web/bronx859.jpg
- 1081. file:///net/u/1/f/fdc/web/bronx86.jpg
- 1082. file:///net/u/1/f/fdc/web/bronx860.jpg
- 1083. file:///net/u/1/f/fdc/web/bronx861.jpg
- 1084. file:///net/u/1/f/fdc/web/bronx862.jpg
- 1085. file:///net/u/1/f/fdc/web/bronx863.jpg
- 1086. file:///net/u/1/f/fdc/web/bronx864.jpg
- 1087. file:///net/u/1/f/fdc/web/bronx865.jpg
- 1088. file:///net/u/1/f/fdc/web/bronx866.jpg
- 1089. file:///net/u/1/f/fdc/web/bronx867.jpg
- 1090. file:///net/u/1/f/fdc/web/bronx868.jpg
- 1091. file:///net/u/1/f/fdc/web/bronx869.jpg
- 1092. file:///net/u/1/f/fdc/web/bronx87.jpg
- 1093. file:///net/u/1/f/fdc/web/bronx870.jpg
- 1094. file:///net/u/1/f/fdc/web/bronx871.jpg
- 1095. file:///net/u/1/f/fdc/web/bronx872.jpg
- 1096. file:///net/u/1/f/fdc/web/bronx873.jpg
- 1097. file:///net/u/1/f/fdc/web/bronx874.jpg
- 1098. file:///net/u/1/f/fdc/web/bronx875.jpg
- 1099. file:///net/u/1/f/fdc/web/bronx876.jpg
- 1100. file:///net/u/1/f/fdc/web/bronx877.jpg
- 1101. file:///net/u/1/f/fdc/web/bronx878.jpg
- 1102. file:///net/u/1/f/fdc/web/bronx879.jpg
- 1103. file:///net/u/1/f/fdc/web/bronx88.jpg
- 1104. file:///net/u/1/f/fdc/web/bronx880.jpg
- 1105. file:///net/u/1/f/fdc/web/bronx881.jpg
- 1106. file:///net/u/1/f/fdc/web/bronx882.jpg
- 1107. file:///net/u/1/f/fdc/web/bronx883.jpg
- 1108. file:///net/u/1/f/fdc/web/bronx884.jpg
- 1109. file:///net/u/1/f/fdc/web/bronx885.jpg
- 1110. file:///net/u/1/f/fdc/web/bronx886.jpg
- 1111. file:///net/u/1/f/fdc/web/bronx887.jpg
- 1112. file:///net/u/1/f/fdc/web/bronx888.jpg
- 1113. file:///net/u/1/f/fdc/web/bronx889.jpg
- 1114. file:///net/u/1/f/fdc/web/bronx89.jpg
- 1115. file:///net/u/1/f/fdc/web/bronx890.jpg
- 1116. file:///net/u/1/f/fdc/web/bronx891.jpg
- 1117. file:///net/u/1/f/fdc/web/bronx892.jpg
- 1118. file:///net/u/1/f/fdc/web/bronx893.jpg
- 1119. file:///net/u/1/f/fdc/web/bronx894.jpg
- 1120. file:///net/u/1/f/fdc/web/bronx895.jpg
- 1121. file:///net/u/1/f/fdc/web/bronx896.jpg
- 1122. file:///net/u/1/f/fdc/web/bronx897.jpg
- 1123. file:///net/u/1/f/fdc/web/bronx898.jpg
- 1124. file:///net/u/1/f/fdc/web/bronx899.jpg
- 1125. file:///net/u/1/f/fdc/web/bronx9.jpg
- 1126. file:///net/u/1/f/fdc/web/bronx90.jpg
- 1127. file:///net/u/1/f/fdc/web/bronx900.jpg
- 1128. file:///net/u/1/f/fdc/web/bronx901.jpg
- 1129. file:///net/u/1/f/fdc/web/bronx902.jpg
- 1130. file:///net/u/1/f/fdc/web/bronx903.jpg
- 1131. file:///net/u/1/f/fdc/web/bronx904.jpg
- 1132. file:///net/u/1/f/fdc/web/bronx905.jpg
- 1133. file:///net/u/1/f/fdc/web/bronx906.jpg
- 1134. file:///net/u/1/f/fdc/web/bronx907.jpg
- 1135. file:///net/u/1/f/fdc/web/bronx908.jpg
- 1136. file:///net/u/1/f/fdc/web/bronx909.jpg
- 1137. file:///net/u/1/f/fdc/web/bronx91.jpg
- 1138. file:///net/u/1/f/fdc/web/bronx910.jpg
- 1139. file:///net/u/1/f/fdc/web/bronx911.jpg
- 1140. file:///net/u/1/f/fdc/web/bronx912.jpg
- 1141. file:///net/u/1/f/fdc/web/bronx913.jpg
- 1142. file:///net/u/1/f/fdc/web/bronx914.jpg
- 1143. file:///net/u/1/f/fdc/web/bronx915.jpg
- 1144. file:///net/u/1/f/fdc/web/bronx916.jpg
- 1145. file:///net/u/1/f/fdc/web/bronx917.jpg
- 1146. file:///net/u/1/f/fdc/web/bronx918.jpg
- 1147. file:///net/u/1/f/fdc/web/bronx919.jpg
- 1148. file:///net/u/1/f/fdc/web/bronx92.jpg
- 1149. file:///net/u/1/f/fdc/web/bronx920.jpg
- 1150. file:///net/u/1/f/fdc/web/bronx921.jpg
- 1151. file:///net/u/1/f/fdc/web/bronx922.jpg
- 1152. file:///net/u/1/f/fdc/web/bronx923.jpg
- 1153. file:///net/u/1/f/fdc/web/bronx924.jpg
- 1154. file:///net/u/1/f/fdc/web/bronx925.jpg
- 1155. file:///net/u/1/f/fdc/web/bronx926.jpg
- 1156. file:///net/u/1/f/fdc/web/bronx927.jpg
- 1157. file:///net/u/1/f/fdc/web/bronx928.jpg
- 1158. file:///net/u/1/f/fdc/web/bronx929.jpg
- 1159. file:///net/u/1/f/fdc/web/bronx93.jpg
- 1160. file:///net/u/1/f/fdc/web/bronx930.jpg
- 1161. file:///net/u/1/f/fdc/web/bronx931.jpg
- 1162. file:///net/u/1/f/fdc/web/bronx932.jpg
- 1163. file:///net/u/1/f/fdc/web/bronx933.jpg
- 1164. file:///net/u/1/f/fdc/web/bronx934.jpg
- 1165. file:///net/u/1/f/fdc/web/bronx935.jpg
- 1166. file:///net/u/1/f/fdc/web/bronx936.jpg
- 1167. file:///net/u/1/f/fdc/web/bronx937.jpg
- 1168. file:///net/u/1/f/fdc/web/bronx938.jpg
- 1169. file:///net/u/1/f/fdc/web/bronx939.jpg
- 1170. file:///net/u/1/f/fdc/web/bronx94.jpg
- 1171. file:///net/u/1/f/fdc/web/bronx940.jpg
- 1172. file:///net/u/1/f/fdc/web/bronx941.jpg
- 1173. file:///net/u/1/f/fdc/web/bronx942.jpg
- 1174. file:///net/u/1/f/fdc/web/bronx943.jpg
- 1175. file:///net/u/1/f/fdc/web/bronx944.jpg
- 1176. file:///net/u/1/f/fdc/web/bronx945.jpg
- 1177. file:///net/u/1/f/fdc/web/bronx946.jpg
- 1178. file:///net/u/1/f/fdc/web/bronx947.jpg
- 1179. file:///net/u/1/f/fdc/web/bronx948.jpg
- 1180. file:///net/u/1/f/fdc/web/bronx949.jpg
- 1181. file:///net/u/1/f/fdc/web/bronx95.jpg
- 1182. file:///net/u/1/f/fdc/web/bronx950.jpg
- 1183. file:///net/u/1/f/fdc/web/bronx951.jpg
- 1184. file:///net/u/1/f/fdc/web/bronx952.jpg
- 1185. file:///net/u/1/f/fdc/web/bronx953.jpg
- 1186. file:///net/u/1/f/fdc/web/bronx954.jpg
- 1187. file:///net/u/1/f/fdc/web/bronx955.jpg
- 1188. file:///net/u/1/f/fdc/web/bronx956.jpg
- 1189. file:///net/u/1/f/fdc/web/bronx957.jpg
- 1190. file:///net/u/1/f/fdc/web/bronx958.jpg
- 1191. file:///net/u/1/f/fdc/web/bronx959.jpg
- 1192. file:///net/u/1/f/fdc/web/bronx96.jpg
- 1193. file:///net/u/1/f/fdc/web/bronx960.jpg
- 1194. file:///net/u/1/f/fdc/web/bronx961.jpg
- 1195. file:///net/u/1/f/fdc/web/bronx962.jpg
- 1196. file:///net/u/1/f/fdc/web/bronx963.jpg
- 1197. file:///net/u/1/f/fdc/web/bronx964.jpg
- 1198. file:///net/u/1/f/fdc/web/bronx965.jpg
- 1199. file:///net/u/1/f/fdc/web/bronx966.jpg
- 1200. file:///net/u/1/f/fdc/web/bronx967.jpg
- 1201. file:///net/u/1/f/fdc/web/bronx968.jpg
- 1202. file:///net/u/1/f/fdc/web/bronx969.jpg
- 1203. file:///net/u/1/f/fdc/web/bronx97.jpg
- 1204. file:///net/u/1/f/fdc/web/bronx970.jpg
- 1205. file:///net/u/1/f/fdc/web/bronx971.jpg
- 1206. file:///net/u/1/f/fdc/web/bronx972.jpg
- 1207. file:///net/u/1/f/fdc/web/bronx973.jpg
- 1208. file:///net/u/1/f/fdc/web/bronx974.jpg
- 1209. file:///net/u/1/f/fdc/web/bronx975.jpg
- 1210. file:///net/u/1/f/fdc/web/bronx976.jpg
- 1211. file:///net/u/1/f/fdc/web/bronx977.jpg
- 1212. file:///net/u/1/f/fdc/web/bronx978.jpg
- 1213. file:///net/u/1/f/fdc/web/bronx979.jpg
- 1214. file:///net/u/1/f/fdc/web/bronx98.jpg
- 1215. file:///net/u/1/f/fdc/web/bronx980.jpg
- 1216. file:///net/u/1/f/fdc/web/bronx981.jpg
- 1217. file:///net/u/1/f/fdc/web/bronx982.jpg
- 1218. file:///net/u/1/f/fdc/web/bronx983.jpg
- 1219. file:///net/u/1/f/fdc/web/bronx984.jpg
- 1220. file:///net/u/1/f/fdc/web/bronx985.jpg
- 1221. file:///net/u/1/f/fdc/web/bronx986.jpg
- 1222. file:///net/u/1/f/fdc/web/bronx987.jpg
- 1223. file:///net/u/1/f/fdc/web/bronx988.jpg
- 1224. file:///net/u/1/f/fdc/web/bronx989.jpg
- 1225. file:///net/u/1/f/fdc/web/bronx99.jpg
- 1226. file:///net/u/1/f/fdc/web/bronx990.jpg
- 1227. file:///net/u/1/f/fdc/web/bronx991.jpg
- 1228. file:///net/u/1/f/fdc/web/bronx992.jpg
- 1229. file:///net/u/1/f/fdc/web/bronx993.jpg
- 1230. file:///net/u/1/f/fdc/web/bronx994.jpg
- 1231. file:///net/u/1/f/fdc/web/bronx995.jpg
- 1232. file:///net/u/1/f/fdc/web/bronx996.jpg
- 1233. file:///net/u/1/f/fdc/web/bronx997.jpg
- 1234. file:///net/u/1/f/fdc/web/bronx998.jpg
- 1235. file:///net/u/1/f/fdc/web/bronx999.jpg
- 1236. file:///net/u/1/f/fdc/web/bronxgallery-220.jpg
- 1237. file:///net/u/1/f/fdc/web/bronxgallery.jpg
- 1238. file:///net/u/1/f/fdc/web/bronxgallery0-700.jpg
- 1239. file:///net/u/1/f/fdc/web/bronxgallery0-740.jpg
- 1240. file:///net/u/1/f/fdc/web/bronxgallery0.jpg
- 1241. file:///net/u/1/f/fdc/web/brooklyn.gif
- 1242. file:///net/u/1/f/fdc/web/bugs01.jpg
- 1243. file:///net/u/1/f/fdc/web/bugs02.jpg
- 1244. file:///net/u/1/f/fdc/web/burmese.utf8
- 1245. file:///net/u/1/f/fdc/web/buttons1968-strip-100.jpg
- 1246. file:///net/u/1/f/fdc/web/buttons1968-strip-80.jpg
- 1247. file:///net/u/1/f/fdc/web/bwaylocal.jpg
- 1248. file:///net/u/1/f/fdc/web/bxday
- 1249. file:///net/u/1/f/fdc/web/bxphotos.html
- 1250. file:///net/u/1/f/fdc/web/bxphotos.html.%7E1%7E
- 1251. file:///net/u/1/f/fdc/web/c64.html
- 1252. file:///net/u/1/f/fdc/web/cable.html
- 1253. file:///net/u/1/f/fdc/web/cable.html.%7E1%7E
- 1254. file:///net/u/1/f/fdc/web/cables.html
- 1255. file:///net/u/1/f/fdc/web/cables.html.1
- 1256. file:///net/u/1/f/fdc/web/cables.html.%7E1%7E
- 1257. file:///net/u/1/f/fdc/web/cables.html.%7E2%7E
- 1258. file:///net/u/1/f/fdc/web/campus.jpg
- 1259. file:///net/u/1/f/fdc/web/campus2.jpg
- 1260. file:///net/u/1/f/fdc/web/campus3.jpg
- 1261. file:///net/u/1/f/fdc/web/campus4.jpg
- 1262. file:///net/u/1/f/fdc/web/cancelation.html
- 1263. file:///net/u/1/f/fdc/web/cancellation.html
- 1264. file:///net/u/1/f/fdc/web/card2-40.jpg
- 1265. file:///net/u/1/f/fdc/web/card2-80.jpg
- 1266. file:///net/u/1/f/fdc/web/case01.html
- 1267. file:///net/u/1/f/fdc/web/case02.html
- 1268. file:///net/u/1/f/fdc/web/case03.html
- 1269. file:///net/u/1/f/fdc/web/case04.html
- 1270. file:///net/u/1/f/fdc/web/case05.html
- 1271. file:///net/u/1/f/fdc/web/case06.html
- 1272. file:///net/u/1/f/fdc/web/case07.html
- 1273. file:///net/u/1/f/fdc/web/case08.html
- 1274. file:///net/u/1/f/fdc/web/case08.html.%7E1%7E
- 1275. file:///net/u/1/f/fdc/web/case09.html
- 1276. file:///net/u/1/f/fdc/web/case09.html.%7E1%7E
- 1277. file:///net/u/1/f/fdc/web/case09.html.%7E2%7E
- 1278. file:///net/u/1/f/fdc/web/case10.html
- 1279. file:///net/u/1/f/fdc/web/case11.html
- 1280. file:///net/u/1/f/fdc/web/case12.html
- 1281. file:///net/u/1/f/fdc/web/case13.html
- 1282. file:///net/u/1/f/fdc/web/case14.html
- 1283. file:///net/u/1/f/fdc/web/case15.html
- 1284. file:///net/u/1/f/fdc/web/case16.html
- 1285. file:///net/u/1/f/fdc/web/case17.html
- 1286. file:///net/u/1/f/fdc/web/case18.html
- 1287. file:///net/u/1/f/fdc/web/case19.html
- 1288. file:///net/u/1/f/fdc/web/case20.html
- 1289. file:///net/u/1/f/fdc/web/case21.html
- 1290. file:///net/u/1/f/fdc/web/case21x.html
- 1291. file:///net/u/1/f/fdc/web/case22.html
- 1292. file:///net/u/1/f/fdc/web/case23.html
- 1293. file:///net/u/1/f/fdc/web/case24.html
- 1294. file:///net/u/1/f/fdc/web/case25.html
- 1295. file:///net/u/1/f/fdc/web/case26.html
- 1296. file:///net/u/1/f/fdc/web/case27.html
- 1297. file:///net/u/1/f/fdc/web/case28.html
- 1298. file:///net/u/1/f/fdc/web/case29.html
- 1299. file:///net/u/1/f/fdc/web/case29.html.%7E1%7E
- 1300. file:///net/u/1/f/fdc/web/castle.gif
- 1301. file:///net/u/1/f/fdc/web/castlesm.gif
- 1302. file:///net/u/1/f/fdc/web/catalog.html
- 1303. file:///net/u/1/f/fdc/web/ccfoo.html
- 1304. file:///net/u/1/f/fdc/web/cd4.gif
- 1305. file:///net/u/1/f/fdc/web/cd4.html
- 1306. file:///net/u/1/f/fdc/web/cd4x.gif
- 1307. file:///net/u/1/f/fdc/web/change
- 1308. file:///net/u/1/f/fdc/web/change.html
- 1309. file:///net/u/1/f/fdc/web/change.html.%7E1%7E
- 1310. file:///net/u/1/f/fdc/web/change.html.%7E2%7E
- 1311. file:///net/u/1/f/fdc/web/change.html.%7E4%7E
- 1312. file:///net/u/1/f/fdc/web/change.html.%7E5%7E
- 1313. file:///net/u/1/f/fdc/web/charsets.html
- 1314. file:///net/u/1/f/fdc/web/chbw-strip1-100.jpg
- 1315. file:///net/u/1/f/fdc/web/chm-joe-doupnik.pdf
- 1316. file:///net/u/1/f/fdc/web/chm-oral-history.pdf
- 1317. file:///net/u/1/f/fdc/web/cis_tiny.gif
- 1318. file:///net/u/1/f/fdc/web/city3.gif
- 1319. file:///net/u/1/f/fdc/web/ck300.html
- 1320. file:///net/u/1/f/fdc/web/ck60-save.html
- 1321. file:///net/u/1/f/fdc/web/ck60.html
- 1322. file:///net/u/1/f/fdc/web/ck60ftpic.html
- 1323. file:///net/u/1/f/fdc/web/ck60manual.html
- 1324. file:///net/u/1/f/fdc/web/ck60specs.html
- 1325. file:///net/u/1/f/fdc/web/ck60src.html
- 1326. file:///net/u/1/f/fdc/web/ck60text.html
- 1327. file:///net/u/1/f/fdc/web/ck60unixes.html
- 1328. file:///net/u/1/f/fdc/web/ck60vbin.html
- 1329. file:///net/u/1/f/fdc/web/ck61.html
- 1330. file:///net/u/1/f/fdc/web/ck70-final.html
- 1331. file:///net/u/1/f/fdc/web/ck70.gif
- 1332. file:///net/u/1/f/fdc/web/ck70.html
- 1333. file:///net/u/1/f/fdc/web/ck70.html.%7E1%7E
- 1334. file:///net/u/1/f/fdc/web/ck70b07.html
- 1335. file:///net/u/1/f/fdc/web/ck70b10.html
- 1336. file:///net/u/1/f/fdc/web/ck70bugs.html
- 1337. file:///net/u/1/f/fdc/web/ck70cd-r.jpg
- 1338. file:///net/u/1/f/fdc/web/ck70cd-t.jpg
- 1339. file:///net/u/1/f/fdc/web/ck70cd.html
- 1340. file:///net/u/1/f/fdc/web/ck70cd.jpg
- 1341. file:///net/u/1/f/fdc/web/ck70cdorder.html
- 1342. file:///net/u/1/f/fdc/web/ck70news.html
- 1343. file:///net/u/1/f/fdc/web/ck70sm.jpg
- 1344. file:///net/u/1/f/fdc/web/ck70specs.html
- 1345. file:///net/u/1/f/fdc/web/ck71a04.html
- 1346. file:///net/u/1/f/fdc/web/ck80208ann.html
- 1347. file:///net/u/1/f/fdc/web/ck80ann.html
- 1348. file:///net/u/1/f/fdc/web/ck80b04.html
- 1349. file:///net/u/1/f/fdc/web/ck80bugs.html
- 1350. file:///net/u/1/f/fdc/web/ck80cd-450.jpg
- 1351. file:///net/u/1/f/fdc/web/ck80cd.html
- 1352. file:///net/u/1/f/fdc/web/ck80specs.html
- 1353. file:///net/u/1/f/fdc/web/ck90.html
- 1354. file:///net/u/1/f/fdc/web/ck90.html.%7E19%7E
- 1355. file:///net/u/1/f/fdc/web/ck90.html.%7E1%7E
- 1356. file:///net/u/1/f/fdc/web/ck90.html.%7E20%7E
- 1357. file:///net/u/1/f/fdc/web/ck90.html.%7E2%7E
- 1358. file:///net/u/1/f/fdc/web/ck90a02.html
- 1359. file:///net/u/1/f/fdc/web/ck90a02tables.html
- 1360. file:///net/u/1/f/fdc/web/ck90a03.html
- 1361. file:///net/u/1/f/fdc/web/ck90a03tables.html
- 1362. file:///net/u/1/f/fdc/web/ck90notes.html
- 1363. file:///net/u/1/f/fdc/web/ck90save.html
- 1364. file:///net/u/1/f/fdc/web/ck90specs.html
- 1365. file:///net/u/1/f/fdc/web/ck90tables.html
- 1366. file:///net/u/1/f/fdc/web/ck90tables.html.%7E1%7E
- 1367. file:///net/u/1/f/fdc/web/ck90tables.html.%7E2%7E
- 1368. file:///net/u/1/f/fdc/web/ck90tables.html.%7E4%7E
- 1369. file:///net/u/1/f/fdc/web/ck90tables.html.%7E5%7E
- 1370. file:///net/u/1/f/fdc/web/ck90updates.html
- 1371. file:///net/u/1/f/fdc/web/ck_64bit.html
- 1372. file:///net/u/1/f/fdc/web/ck_i.gif
- 1373. file:///net/u/1/f/fdc/web/ckb-100.jpg
- 1374. file:///net/u/1/f/fdc/web/ckb-150.jpg
- 1375. file:///net/u/1/f/fdc/web/ckb-180.jpg
- 1376. file:///net/u/1/f/fdc/web/ckb-200.jpg
- 1377. file:///net/u/1/f/fdc/web/ckb-280.jpg
- 1378. file:///net/u/1/f/fdc/web/ckb-600.jpg
- 1379. file:///net/u/1/f/fdc/web/ckb-80.jpg
- 1380. file:///net/u/1/f/fdc/web/ckb-r.jpg
- 1381. file:///net/u/1/f/fdc/web/ckb-t.jpg
- 1382. file:///net/u/1/f/fdc/web/ckb.html
- 1383. file:///net/u/1/f/fdc/web/ckb.jpg
- 1384. file:///net/u/1/f/fdc/web/ckb1e-150.jpg
- 1385. file:///net/u/1/f/fdc/web/ckb1e-280.jpg
- 1386. file:///net/u/1/f/fdc/web/ckb1e-600.jpg
- 1387. file:///net/u/1/f/fdc/web/ckb2.gif
- 1388. file:///net/u/1/f/fdc/web/ckb2.html
- 1389. file:///net/u/1/f/fdc/web/ckb2en_i.gif
- 1390. file:///net/u/1/f/fdc/web/ckbde-100.jpg
- 1391. file:///net/u/1/f/fdc/web/ckbde-150.jpg
- 1392. file:///net/u/1/f/fdc/web/ckbde-280.jpg
- 1393. file:///net/u/1/f/fdc/web/ckbde-600.jpg
- 1394. file:///net/u/1/f/fdc/web/ckbde_i.gif
- 1395. file:///net/u/1/f/fdc/web/ckbde_i.gif.cu
- 1396. file:///net/u/1/f/fdc/web/ckben_i.gif
- 1397. file:///net/u/1/f/fdc/web/ckbinaries.html
- 1398. file:///net/u/1/f/fdc/web/ckbinaries.html.%7E1%7E
- 1399. file:///net/u/1/f/fdc/web/ckbinaries.html.%7E2%7E
- 1400. file:///net/u/1/f/fdc/web/ckbinaries.html.%7E3%7E
- 1401. file:///net/u/1/f/fdc/web/ckbinaries.html.%7E4%7E
- 1402. file:///net/u/1/f/fdc/web/ckbindex.html
- 1403. file:///net/u/1/f/fdc/web/ckborder.html
- 1404. file:///net/u/1/f/fdc/web/ckbreviews.html
- 1405. file:///net/u/1/f/fdc/web/ckbupdates.html
- 1406. file:///net/u/1/f/fdc/web/ckbw.gif
- 1407. file:///net/u/1/f/fdc/web/ckc206.html
- 1408. file:///net/u/1/f/fdc/web/ckc208.html
- 1409. file:///net/u/1/f/fdc/web/ckc209.html
- 1410. file:///net/u/1/f/fdc/web/ckc211.html
- 1411. file:///net/u/1/f/fdc/web/ckc212-dev28.html
- 1412. file:///net/u/1/f/fdc/web/ckc212.html
- 1413. file:///net/u/1/f/fdc/web/ckc212.sav
- 1414. file:///net/u/1/f/fdc/web/ckc300.html
- 1415. file:///net/u/1/f/fdc/web/ckc301.html
- 1416. file:///net/u/1/f/fdc/web/ckc302.html
- 1417. file:///net/u/1/f/fdc/web/ckcbwr.html
- 1418. file:///net/u/1/f/fdc/web/ckcbwr.html.%7E1%7E
- 1419. file:///net/u/1/f/fdc/web/ckccfg.html
- 1420. file:///net/u/1/f/fdc/web/ckcdinfo.html
- 1421. file:///net/u/1/f/fdc/web/ckcker.txt
- 1422. file:///net/u/1/f/fdc/web/ckcplm.html
- 1423. file:///net/u/1/f/fdc/web/ckcplm.html.%7E1%7E
- 1424. file:///net/u/1/f/fdc/web/ckcsets.html
- 1425. file:///net/u/1/f/fdc/web/ckdaily.html
- 1426. file:///net/u/1/f/fdc/web/ckdaily.html.%7E1%7E
- 1427. file:///net/u/1/f/fdc/web/ckdaily.html.%7E2%7E
- 1428. file:///net/u/1/f/fdc/web/ckdaily.html.%7E33%7E
- 1429. file:///net/u/1/f/fdc/web/ckdaily.html.%7E34%7E
- 1430. file:///net/u/1/f/fdc/web/ckermi7.html
- 1431. file:///net/u/1/f/fdc/web/ckermi8.html
- 1432. file:///net/u/1/f/fdc/web/ckermi8.html__new
- 1433. file:///net/u/1/f/fdc/web/ckermi80.html
- 1434. file:///net/u/1/f/fdc/web/ckermit-np.html
- 1435. file:///net/u/1/f/fdc/web/ckermit.gif
- 1436. file:///net/u/1/f/fdc/web/ckermit.html
- 1437. file:///net/u/1/f/fdc/web/ckermit.jpg
- 1438. file:///net/u/1/f/fdc/web/ckermit
- 1439. file:///net/u/1/f/fdc/web/ckermit209.html
- 1440. file:///net/u/1/f/fdc/web/ckermit211.html
- 1441. file:///net/u/1/f/fdc/web/ckermit40.html
- 1442. file:///net/u/1/f/fdc/web/ckermit40.html.%7E1%7E
- 1443. file:///net/u/1/f/fdc/web/ckermit40.html.%7E2%7E
- 1444. file:///net/u/1/f/fdc/web/ckermit40.html.%7E3%7E
- 1445. file:///net/u/1/f/fdc/web/ckermit42.html
- 1446. file:///net/u/1/f/fdc/web/ckermit42.html.%7E1%7E
- 1447. file:///net/u/1/f/fdc/web/ckermit42.html.%7E2%7E
- 1448. file:///net/u/1/f/fdc/web/ckermit42.html.%7E3%7E
- 1449. file:///net/u/1/f/fdc/web/ckermit70.html
- 1450. file:///net/u/1/f/fdc/web/ckermit70.html.%7E1%7E
- 1451. file:///net/u/1/f/fdc/web/ckermit70.html.%7E2%7E
- 1452. file:///net/u/1/f/fdc/web/ckermit70.html.%7E6%7E
- 1453. file:///net/u/1/f/fdc/web/ckermit70.html.%7E7%7E
- 1454. file:///net/u/1/f/fdc/web/ckermit8.pdf
- 1455. file:///net/u/1/f/fdc/web/ckermit80.html
- 1456. file:///net/u/1/f/fdc/web/ckermit80.html.%7E1%7E
- 1457. file:///net/u/1/f/fdc/web/ckermit80.html.%7E2%7E
- 1458. file:///net/u/1/f/fdc/web/ckermit80.html.%7E4%7E
- 1459. file:///net/u/1/f/fdc/web/ckermit80.html.%7E5%7E
- 1460. file:///net/u/1/f/fdc/web/ckermit90.html
- 1461. file:///net/u/1/f/fdc/web/ckermit90.html.%7E13%7E
- 1462. file:///net/u/1/f/fdc/web/ckermit90.html.%7E14%7E
- 1463. file:///net/u/1/f/fdc/web/ckermit90.html.%7E1%7E
- 1464. file:///net/u/1/f/fdc/web/ckermit90.html.%7E2%7E
- 1465. file:///net/u/1/f/fdc/web/ckfaq.html
- 1466. file:///net/u/1/f/fdc/web/ckfaq.html.%7E1%7E
- 1467. file:///net/u/1/f/fdc/web/ckfaq.html.%7E2%7E
- 1468. file:///net/u/1/f/fdc/web/ckfaq.html.%7E3%7E
- 1469. file:///net/u/1/f/fdc/web/ckfunctions.html
- 1470. file:///net/u/1/f/fdc/web/ckfunctions.html.%7E1%7E
- 1471. file:///net/u/1/f/fdc/web/ckfunctions.html.%7E2%7E
- 1472. file:///net/u/1/f/fdc/web/ckfunctions.html.%7E8%7E
- 1473. file:///net/u/1/f/fdc/web/ckfunctions.html.%7E9%7E
- 1474. file:///net/u/1/f/fdc/web/ckglibc228.diff
- 1475. file:///net/u/1/f/fdc/web/cklicense.html
- 1476. file:///net/u/1/f/fdc/web/ckmanual-cz.html
- 1477. file:///net/u/1/f/fdc/web/ckmanual-cz.html.%7E1%7E
- 1478. file:///net/u/1/f/fdc/web/ckmanual.html
- 1479. file:///net/u/1/f/fdc/web/ckmker.pdf
- 1480. file:///net/u/1/f/fdc/web/ckmker.ps
- 1481. file:///net/u/1/f/fdc/web/ckmkerdoc.txt
- 1482. file:///net/u/1/f/fdc/web/cknotes.html
- 1483. file:///net/u/1/f/fdc/web/cko191.html
- 1484. file:///net/u/1/f/fdc/web/ckpackages.html
- 1485. file:///net/u/1/f/fdc/web/ckrename.html
- 1486. file:///net/u/1/f/fdc/web/ckrename.html.%7E1%7E
- 1487. file:///net/u/1/f/fdc/web/ckreviews.html
- 1488. file:///net/u/1/f/fdc/web/ckscripts.html
- 1489. file:///net/u/1/f/fdc/web/ckscripts.html.%7E1%7E
- 1490. file:///net/u/1/f/fdc/web/ckscripts.html.%7E21%7E
- 1491. file:///net/u/1/f/fdc/web/ckscripts.html.%7E22%7E
- 1492. file:///net/u/1/f/fdc/web/ckscripts.html.%7E2%7E
- 1493. file:///net/u/1/f/fdc/web/cksendbin.html
- 1494. file:///net/u/1/f/fdc/web/cksettransmit.html
- 1495. file:///net/u/1/f/fdc/web/cksorder.html
- 1496. file:///net/u/1/f/fdc/web/ckspecs.html
- 1497. file:///net/u/1/f/fdc/web/cku301.qnx32-4.25
- 1498. file:///net/u/1/f/fdc/web/ckubwr.html
- 1499. file:///net/u/1/f/fdc/web/ckubwr.html.%7E1%7E
- 1500. file:///net/u/1/f/fdc/web/ckubwr.html.%7E2%7E
- 1501. file:///net/u/1/f/fdc/web/ckubwr.html.%7E3%7E
- 1502. file:///net/u/1/f/fdc/web/ckubwr.html.%7E4%7E
- 1503. file:///net/u/1/f/fdc/web/ckuins.html
- 1504. file:///net/u/1/f/fdc/web/ckuins.html.untrimmed
- 1505. file:///net/u/1/f/fdc/web/ckuins.txt
- 1506. file:///net/u/1/f/fdc/web/ckupdates-90304-dev22.html
- 1507. file:///net/u/1/f/fdc/web/ckupdates-90305-alpha1.html
- 1508. file:///net/u/1/f/fdc/web/ckupdates.html
- 1509. file:///net/u/1/f/fdc/web/ckupdates.html.a1
- 1510. file:///net/u/1/f/fdc/web/ckupdates.html.%7E1%7E
- 1511. file:///net/u/1/f/fdc/web/ckupdates.html.%7E2%7E
- 1512. file:///net/u/1/f/fdc/web/ckupdates.html.%7E8%7E
- 1513. file:///net/u/1/f/fdc/web/ckupdates.html.%7E9%7E
- 1514. file:///net/u/1/f/fdc/web/ckututor.html
- 1515. file:///net/u/1/f/fdc/web/ckututor.html.%7E1%7E
- 1516. file:///net/u/1/f/fdc/web/ckututor.pdf
- 1517. file:///net/u/1/f/fdc/web/ckututor80.pdf
- 1518. file:///net/u/1/f/fdc/web/ckvariables.html
- 1519. file:///net/u/1/f/fdc/web/ckvariables.html.%7E1%7E
- 1520. file:///net/u/1/f/fdc/web/ckvariables.html.%7E2%7E
- 1521. file:///net/u/1/f/fdc/web/ckvariables.html.%7E4%7E
- 1522. file:///net/u/1/f/fdc/web/ckvariables.html.%7E5%7E
- 1523. file:///net/u/1/f/fdc/web/ckvbwr.html
- 1524. file:///net/u/1/f/fdc/web/ckvins.html
- 1525. file:///net/u/1/f/fdc/web/ckvins.html.%7E1%7E
- 1526. file:///net/u/1/f/fdc/web/ckvins.html.%7E2%7E
- 1527. file:///net/u/1/f/fdc/web/ckwindows.html
- 1528. file:///net/u/1/f/fdc/web/ckwindows.html.%7E1%7E
- 1529. file:///net/u/1/f/fdc/web/claims.html
- 1530. file:///net/u/1/f/fdc/web/client.html
- 1531. file:///net/u/1/f/fdc/web/clubwin.gif
- 1532. file:///net/u/1/f/fdc/web/colors.gif
- 1533. file:///net/u/1/f/fdc/web/colorssm.gif
- 1534. file:///net/u/1/f/fdc/web/commercial.html
- 1535. file:///net/u/1/f/fdc/web/common.js
- 1536. file:///net/u/1/f/fdc/web/common.js.1
- 1537. file:///net/u/1/f/fdc/web/common.js.%7E1%7E
- 1538. file:///net/u/1/f/fdc/web/common.js.%7E2%7E
- 1539. file:///net/u/1/f/fdc/web/common.js.%7E40%7E
- 1540. file:///net/u/1/f/fdc/web/common.js.%7E41%7E
- 1541. file:///net/u/1/f/fdc/web/compact-substring-notation.html
- 1542. file:///net/u/1/f/fdc/web/compact-substring-notation.html.%7E1%7E
- 1543. file:///net/u/1/f/fdc/web/coney.gif
- 1544. file:///net/u/1/f/fdc/web/coney4.gif
- 1545. file:///net/u/1/f/fdc/web/coney4.jpg
- 1546. file:///net/u/1/f/fdc/web/coney5.jpg
- 1547. file:///net/u/1/f/fdc/web/coney6.jpg
- 1548. file:///net/u/1/f/fdc/web/connectors-340.jpg
- 1549. file:///net/u/1/f/fdc/web/connectors-680.jpg
- 1550. file:///net/u/1/f/fdc/web/connectors-r.jpg
- 1551. file:///net/u/1/f/fdc/web/connectors-t.jpg
- 1552. file:///net/u/1/f/fdc/web/connectors.html
- 1553. file:///net/u/1/f/fdc/web/connectors.jpg
- 1554. file:///net/u/1/f/fdc/web/cool.gif
- 1555. file:///net/u/1/f/fdc/web/courier.gif
- 1556. file:///net/u/1/f/fdc/web/cp1250.html
- 1557. file:///net/u/1/f/fdc/web/cp1251.html
- 1558. file:///net/u/1/f/fdc/web/cp1252.html
- 1559. file:///net/u/1/f/fdc/web/cp1254.html
- 1560. file:///net/u/1/f/fdc/web/cp437.html
- 1561. file:///net/u/1/f/fdc/web/cp850.html
- 1562. file:///net/u/1/f/fdc/web/cp852.html
- 1563. file:///net/u/1/f/fdc/web/cp856.html
- 1564. file:///net/u/1/f/fdc/web/cp861.html
- 1565. file:///net/u/1/f/fdc/web/cp862.html
- 1566. file:///net/u/1/f/fdc/web/cp866.html
- 1567. file:///net/u/1/f/fdc/web/cp866.txt
- 1568. file:///net/u/1/f/fdc/web/cpm.html
- 1569. file:///net/u/1/f/fdc/web/crown70.gif
- 1570. file:///net/u/1/f/fdc/web/crown74-lb.gif
- 1571. file:///net/u/1/f/fdc/web/crownico-lb.gif
- 1572. file:///net/u/1/f/fdc/web/crownico.gif
- 1573. file:///net/u/1/f/fdc/web/csetnames.html
- 1574. file:///net/u/1/f/fdc/web/csetnames.html.untrimmed
- 1575. file:///net/u/1/f/fdc/web/csets1.gif
- 1576. file:///net/u/1/f/fdc/web/csets2.gif
- 1577. file:///net/u/1/f/fdc/web/csets3.gif
- 1578. file:///net/u/1/f/fdc/web/csettables.html
- 1579. file:///net/u/1/f/fdc/web/csettables.html.%7E1%7E
- 1580. file:///net/u/1/f/fdc/web/csettables.html.%7E2%7E
- 1581. file:///net/u/1/f/fdc/web/csv.html
- 1582. file:///net/u/1/f/fdc/web/csv.html.%7E1%7E
- 1583. file:///net/u/1/f/fdc/web/csv.html.%7E2%7E
- 1584. file:///net/u/1/f/fdc/web/csv.html.%7E3%7E
- 1585. file:///net/u/1/f/fdc/web/csv.html.%7E4%7E
- 1586. file:///net/u/1/f/fdc/web/ctv.jpg
- 1587. file:///net/u/1/f/fdc/web/cu-bsd-license.html
- 1588. file:///net/u/1/f/fdc/web/cu-home-kermit.jpg
- 1589. file:///net/u/1/f/fdc/web/cu.htaccess
- 1590. file:///net/u/1/f/fdc/web/cu_home_subway_crown.jpg
- 1591. file:///net/u/1/f/fdc/web/cu_logo.gif
- 1592. file:///net/u/1/f/fdc/web/cudocs
- 1593. file:///net/u/1/f/fdc/web/cuiksd.html
- 1594. file:///net/u/1/f/fdc/web/cunix.jpg
- 1595. file:///net/u/1/f/fdc/web/current.html
- 1596. file:///net/u/1/f/fdc/web/current.html.%7E1%7E
- 1597. file:///net/u/1/f/fdc/web/current.html.%7E2%7E
- 1598. file:///net/u/1/f/fdc/web/cuutf8.html
- 1599. file:///net/u/1/f/fdc/web/cuutf8.html.%7E1%7E
- 1600. file:///net/u/1/f/fdc/web/cwsa.gif
- 1601. file:///net/u/1/f/fdc/web/cyrillic.html
- 1602. file:///net/u/1/f/fdc/web/d
- 1603. file:///net/u/1/f/fdc/web/dcbook-99.jpg
- 1604. file:///net/u/1/f/fdc/web/dcbook.jpg
- 1605. file:///net/u/1/f/fdc/web/debian
- 1606. file:///net/u/1/f/fdc/web/debug.gif
- 1607. file:///net/u/1/f/fdc/web/debug.log
- 1608. file:///net/u/1/f/fdc/web/debug_sm.gif
- 1609. file:///net/u/1/f/fdc/web/dec-mcs.html
- 1610. file:///net/u/1/f/fdc/web/dec20-content.html
- 1611. file:///net/u/1/f/fdc/web/dec20.html
- 1612. file:///net/u/1/f/fdc/web/dec20.html.%7E1%7E
- 1613. file:///net/u/1/f/fdc/web/dec20.html.%7E2%7E
- 1614. file:///net/u/1/f/fdc/web/dec20.html.%7E3%7E
- 1615. file:///net/u/1/f/fdc/web/dec20
- 1616. file:///net/u/1/f/fdc/web/dec20_3.jpg
- 1617. file:///net/u/1/f/fdc/web/dec20_3a.jpg
- 1618. file:///net/u/1/f/fdc/web/dec20x.html
- 1619. file:///net/u/1/f/fdc/web/dec20z.jpg
- 1620. file:///net/u/1/f/fdc/web/decibm2.jpg
- 1621. file:///net/u/1/f/fdc/web/decmate-1.jpg
- 1622. file:///net/u/1/f/fdc/web/decmate.jpg
- 1623. file:///net/u/1/f/fdc/web/demo
- 1624. file:///net/u/1/f/fdc/web/demo2
- 1625. file:///net/u/1/f/fdc/web/desktop
- 1626. file:///net/u/1/f/fdc/web/dg2_05.jpg
- 1627. file:///net/u/1/f/fdc/web/dg3.jpg
- 1628. file:///net/u/1/f/fdc/web/dg470.gif
- 1629. file:///net/u/1/f/fdc/web/dg_05.jpg
- 1630. file:///net/u/1/f/fdc/web/diagram-100.jpg
- 1631. file:///net/u/1/f/fdc/web/diagram-200.jpg
- 1632. file:///net/u/1/f/fdc/web/diagram.html
- 1633. file:///net/u/1/f/fdc/web/diagram.html.%7E1%7E
- 1634. file:///net/u/1/f/fdc/web/diagram.html.%7E2%7E
- 1635. file:///net/u/1/f/fdc/web/diagram.jpg
- 1636. file:///net/u/1/f/fdc/web/dial.jpg
- 1637. file:///net/u/1/f/fdc/web/dial_ico.gif
- 1638. file:///net/u/1/f/fdc/web/dial_sm.jpg
- 1639. file:///net/u/1/f/fdc/web/dialscript.html
- 1640. file:///net/u/1/f/fdc/web/digest.html
- 1641. file:///net/u/1/f/fdc/web/directory.html
- 1642. file:///net/u/1/f/fdc/web/dll.html
- 1643. file:///net/u/1/f/fdc/web/dn.html
- 1644. file:///net/u/1/f/fdc/web/documentation.html
- 1645. file:///net/u/1/f/fdc/web/donations.html
- 1646. file:///net/u/1/f/fdc/web/donations.html.%7E1%7E
- 1647. file:///net/u/1/f/fdc/web/donations.html.%7E2%7E
- 1648. file:///net/u/1/f/fdc/web/donations.html.%7E4%7E
- 1649. file:///net/u/1/f/fdc/web/donations.html.%7E5%7E
- 1650. file:///net/u/1/f/fdc/web/dylan95.gif
- 1651. file:///net/u/1/f/fdc/web/e-a-sm.jpg
- 1652. file:///net/u/1/f/fdc/web/e-academy.html
- 1653. file:///net/u/1/f/fdc/web/e-academy.jpg
- 1654. file:///net/u/1/f/fdc/web/ear.html
- 1655. file:///net/u/1/f/fdc/web/ek-40.jpg
- 1656. file:///net/u/1/f/fdc/web/ek-80.jpg
- 1657. file:///net/u/1/f/fdc/web/ek-announce.html
- 1658. file:///net/u/1/f/fdc/web/ek-head.jpg
- 1659. file:///net/u/1/f/fdc/web/ek-head2.jpg
- 1660. file:///net/u/1/f/fdc/web/ek-head3.jpg
- 1661. file:///net/u/1/f/fdc/web/ek.html
- 1662. file:///net/u/1/f/fdc/web/ek.html.%7E10%7E
- 1663. file:///net/u/1/f/fdc/web/ek.html.%7E11%7E
- 1664. file:///net/u/1/f/fdc/web/ek.html.%7E1%7E
- 1665. file:///net/u/1/f/fdc/web/ek.html.%7E2%7E
- 1666. file:///net/u/1/f/fdc/web/ek.jpg
- 1667. file:///net/u/1/f/fdc/web/em-apex-1.html
- 1668. file:///net/u/1/f/fdc/web/em-apex-160.jpg
- 1669. file:///net/u/1/f/fdc/web/em-apex-chute.jpg
- 1670. file:///net/u/1/f/fdc/web/em-apex-drop.jpg
- 1671. file:///net/u/1/f/fdc/web/em-apex.html
- 1672. file:///net/u/1/f/fdc/web/em-apex.html.1
- 1673. file:///net/u/1/f/fdc/web/em-apex.html.2
- 1674. file:///net/u/1/f/fdc/web/em-apex.html.%7E2%7E
- 1675. file:///net/u/1/f/fdc/web/em-apex.jpg
- 1676. file:///net/u/1/f/fdc/web/em-apex2.html
- 1677. file:///net/u/1/f/fdc/web/embed.html
- 1678. file:///net/u/1/f/fdc/web/embedding.html
- 1679. file:///net/u/1/f/fdc/web/euflag1.jpg
- 1680. file:///net/u/1/f/fdc/web/euflag2.jpg
- 1681. file:///net/u/1/f/fdc/web/euro-construct.gif
- 1682. file:///net/u/1/f/fdc/web/euro.gif
- 1683. file:///net/u/1/f/fdc/web/euro.html
- 1684. file:///net/u/1/f/fdc/web/evermont.gif
- 1685. file:///net/u/1/f/fdc/web/example-160.jpg
- 1686. file:///net/u/1/f/fdc/web/example.html
- 1687. file:///net/u/1/f/fdc/web/example.jpg
- 1688. file:///net/u/1/f/fdc/web/export.html
- 1689. file:///net/u/1/f/fdc/web/faithful.html
- 1690. file:///net/u/1/f/fdc/web/fall.css
- 1691. file:///net/u/1/f/fdc/web/fanfest2013-120.jpg
- 1692. file:///net/u/1/f/fdc/web/fanfest2013-400.jpg
- 1693. file:///net/u/1/f/fdc/web/fanfest2013.jpg
- 1694. file:///net/u/1/f/fdc/web/fanfest2013tail-120.jpg
- 1695. file:///net/u/1/f/fdc/web/faq-c-arr.html
- 1696. file:///net/u/1/f/fdc/web/faq-c-bin.html
- 1697. file:///net/u/1/f/fdc/web/faq-c-bix.html
- 1698. file:///net/u/1/f/fdc/web/faq-c-bsk.html
- 1699. file:///net/u/1/f/fdc/web/faq-c-c34.html
- 1700. file:///net/u/1/f/fdc/web/faq-c-dbk.html
- 1701. file:///net/u/1/f/fdc/web/faq-c-dir.html
- 1702. file:///net/u/1/f/fdc/web/faq-c-dll.html
- 1703. file:///net/u/1/f/fdc/web/faq-c-dvo.html
- 1704. file:///net/u/1/f/fdc/web/faq-c-ecm.html
- 1705. file:///net/u/1/f/fdc/web/faq-c-exit.html
- 1706. file:///net/u/1/f/fdc/web/faq-c-ext.html
- 1707. file:///net/u/1/f/fdc/web/faq-c-fke.html
- 1708. file:///net/u/1/f/fdc/web/faq-c-h48.html
- 1709. file:///net/u/1/f/fdc/web/faq-c-hng.html
- 1710. file:///net/u/1/f/fdc/web/faq-c-idt.html
- 1711. file:///net/u/1/f/fdc/web/faq-c-key.html
- 1712. file:///net/u/1/f/fdc/web/faq-c-man.html
- 1713. file:///net/u/1/f/fdc/web/faq-c-mfk.html
- 1714. file:///net/u/1/f/fdc/web/faq-c-mfx.html
- 1715. file:///net/u/1/f/fdc/web/faq-c-nkp.html
- 1716. file:///net/u/1/f/fdc/web/faq-c-npg.html
- 1717. file:///net/u/1/f/fdc/web/faq-c-pch.html
- 1718. file:///net/u/1/f/fdc/web/faq-c-pin.html
- 1719. file:///net/u/1/f/fdc/web/faq-c-rdi.html
- 1720. file:///net/u/1/f/fdc/web/faq-c-rpi.html
- 1721. file:///net/u/1/f/fdc/web/faq-c-ses.html
- 1722. file:///net/u/1/f/fdc/web/faq-c-sup.html
- 1723. file:///net/u/1/f/fdc/web/faq-c-swx.html
- 1724. file:///net/u/1/f/fdc/web/faq-c-sxw.html
- 1725. file:///net/u/1/f/fdc/web/faq-c-tdp.html
- 1726. file:///net/u/1/f/fdc/web/faq-c-tep.html
- 1727. file:///net/u/1/f/fdc/web/faq-c-v34.html
- 1728. file:///net/u/1/f/fdc/web/faq-c-ver.html
- 1729. file:///net/u/1/f/fdc/web/faq-c-wds.html
- 1730. file:///net/u/1/f/fdc/web/faq-c-wha.html
- 1731. file:///net/u/1/f/fdc/web/faq-c-win.html
- 1732. file:///net/u/1/f/fdc/web/faq-c-wns.html
- 1733. file:///net/u/1/f/fdc/web/faq-c-wpx.html
- 1734. file:///net/u/1/f/fdc/web/faq-c-ytt.html
- 1735. file:///net/u/1/f/fdc/web/faq-c-zmo.html
- 1736. file:///net/u/1/f/fdc/web/faq-x-ver.html
- 1737. file:///net/u/1/f/fdc/web/faq.html
- 1738. file:///net/u/1/f/fdc/web/faq.html.%7E1%7E
- 1739. file:///net/u/1/f/fdc/web/faq.html.%7E2%7E
- 1740. file:///net/u/1/f/fdc/web/fast-left-icon-dim.gif
- 1741. file:///net/u/1/f/fdc/web/fast-left-icon.gif
- 1742. file:///net/u/1/f/fdc/web/fast-right-icon-dim.gif
- 1743. file:///net/u/1/f/fdc/web/fast-right-icon.gif
- 1744. file:///net/u/1/f/fdc/web/favicon.ico
- 1745. file:///net/u/1/f/fdc/web/fdc
- 1746. file:///net/u/1/f/fdc/web/fdcen_i.gif
- 1747. file:///net/u/1/f/fdc/web/fdcreviews.html
- 1748. file:///net/u/1/f/fdc/web/fees.html
- 1749. file:///net/u/1/f/fdc/web/fh1.jpg
- 1750. file:///net/u/1/f/fdc/web/fh2.jpg
- 1751. file:///net/u/1/f/fdc/web/fh3.jpg
- 1752. file:///net/u/1/f/fdc/web/filelist
- 1753. file:///net/u/1/f/fdc/web/filelist.%7E1%7E
- 1754. file:///net/u/1/f/fdc/web/filelist.%7E2%7E
- 1755. file:///net/u/1/f/fdc/web/filelist.%7E34%7E
- 1756. file:///net/u/1/f/fdc/web/filelist.%7E35%7E
- 1757. file:///net/u/1/f/fdc/web/firsthealth.html
- 1758. file:///net/u/1/f/fdc/web/firstxfer.html
- 1759. file:///net/u/1/f/fdc/web/firstxfer.html.1
- 1760. file:///net/u/1/f/fdc/web/firstxfer.html.%7E1%7E
- 1761. file:///net/u/1/f/fdc/web/firstxfer9.jpg
- 1762. file:///net/u/1/f/fdc/web/fix
- 1763. file:///net/u/1/f/fdc/web/fixdirperms.ksc
- 1764. file:///net/u/1/f/fdc/web/fixdirs.ksc.%7E1%7E
- 1765. file:///net/u/1/f/fdc/web/fixdirs.ksc.%7E2%7E
- 1766. file:///net/u/1/f/fdc/web/fixdirs.sh
- 1767. file:///net/u/1/f/fdc/web/fixdirs.sh.%7E1%7E
- 1768. file:///net/u/1/f/fdc/web/fl_australia.gif
- 1769. file:///net/u/1/f/fdc/web/fl_austria.gif
- 1770. file:///net/u/1/f/fdc/web/fl_belgium.gif
- 1771. file:///net/u/1/f/fdc/web/fl_brazil.gif
- 1772. file:///net/u/1/f/fdc/web/fl_canada.gif
- 1773. file:///net/u/1/f/fdc/web/fl_china.gif
- 1774. file:///net/u/1/f/fdc/web/fl_cuba.gif
- 1775. file:///net/u/1/f/fdc/web/fl_dr.jpg
- 1776. file:///net/u/1/f/fdc/web/fl_finland.gif
- 1777. file:///net/u/1/f/fdc/web/fl_france.gif
- 1778. file:///net/u/1/f/fdc/web/fl_germany.gif
- 1779. file:///net/u/1/f/fdc/web/fl_india.gif
- 1780. file:///net/u/1/f/fdc/web/fl_ireland.gif
- 1781. file:///net/u/1/f/fdc/web/fl_italy.gif
- 1782. file:///net/u/1/f/fdc/web/fl_luxembourg.gif
- 1783. file:///net/u/1/f/fdc/web/fl_mexico.gif
- 1784. file:///net/u/1/f/fdc/web/fl_netherlands.gif
- 1785. file:///net/u/1/f/fdc/web/fl_newzealand.gif
- 1786. file:///net/u/1/f/fdc/web/fl_norway.gif
- 1787. file:///net/u/1/f/fdc/web/fl_portugal.gif
- 1788. file:///net/u/1/f/fdc/web/fl_scotland.gif
- 1789. file:///net/u/1/f/fdc/web/fl_spain.gif
- 1790. file:///net/u/1/f/fdc/web/fl_uk.gif
- 1791. file:///net/u/1/f/fdc/web/fl_uk2.gif
- 1792. file:///net/u/1/f/fdc/web/fl_wales.gif
- 1793. file:///net/u/1/f/fdc/web/flag-ba-100.jpg
- 1794. file:///net/u/1/f/fdc/web/flag-ba-280.jpg
- 1795. file:///net/u/1/f/fdc/web/flag-ba-60.jpg
- 1796. file:///net/u/1/f/fdc/web/flag-ba.jpg
- 1797. file:///net/u/1/f/fdc/web/flag-br-100.jpg
- 1798. file:///net/u/1/f/fdc/web/flag-br-280.jpg
- 1799. file:///net/u/1/f/fdc/web/flag-br-60.jpg
- 1800. file:///net/u/1/f/fdc/web/flag-br.jpg
- 1801. file:///net/u/1/f/fdc/web/flag-bz-20.jpg
- 1802. file:///net/u/1/f/fdc/web/flag-bz-40.jpg
- 1803. file:///net/u/1/f/fdc/web/flag-strip1-20.jpg
- 1804. file:///net/u/1/f/fdc/web/flag.html
- 1805. file:///net/u/1/f/fdc/web/flags2.jpg
- 1806. file:///net/u/1/f/fdc/web/fontsize.html
- 1807. file:///net/u/1/f/fdc/web/foo
- 1808. file:///net/u/1/f/fdc/web/frances.jpg
- 1809. file:///net/u/1/f/fdc/web/ftp.html
- 1810. file:///net/u/1/f/fdc/web/ftp
- 1811. file:///net/u/1/f/fdc/web/ftpclient-es-iso-8848-1.html
- 1812. file:///net/u/1/f/fdc/web/ftpclient-es.html
- 1813. file:///net/u/1/f/fdc/web/ftpclient-es.html.%7E1%7E
- 1814. file:///net/u/1/f/fdc/web/ftpclient-es.html.%7E2%7E
- 1815. file:///net/u/1/f/fdc/web/ftpclient-es.html.%7E3%7E
- 1816. file:///net/u/1/f/fdc/web/ftpclient-es.html.%7E4%7E
- 1817. file:///net/u/1/f/fdc/web/ftpclient.html
- 1818. file:///net/u/1/f/fdc/web/ftpclient.html.%7E1%7E
- 1819. file:///net/u/1/f/fdc/web/ftpclient.html.%7E2%7E
- 1820. file:///net/u/1/f/fdc/web/ftpclient.html.%7E4%7E
- 1821. file:///net/u/1/f/fdc/web/ftpclient.html.%7E5%7E
- 1822. file:///net/u/1/f/fdc/web/ftpd.html
- 1823. file:///net/u/1/f/fdc/web/ftpdoc.html
- 1824. file:///net/u/1/f/fdc/web/ftpdoc.old
- 1825. file:///net/u/1/f/fdc/web/ftpfaq.html
- 1826. file:///net/u/1/f/fdc/web/ftphlp.html
- 1827. file:///net/u/1/f/fdc/web/ftpscripts.html
- 1828. file:///net/u/1/f/fdc/web/ftpscripts.html.%7E1%7E
- 1829. file:///net/u/1/f/fdc/web/ftpscripts.html.%7E2%7E
- 1830. file:///net/u/1/f/fdc/web/ftputf8.html
- 1831. file:///net/u/1/f/fdc/web/gears.gif
- 1832. file:///net/u/1/f/fdc/web/gears.jpg
- 1833. file:///net/u/1/f/fdc/web/gears2.jpg
- 1834. file:///net/u/1/f/fdc/web/george-35.gif
- 1835. file:///net/u/1/f/fdc/web/george-44.gif
- 1836. file:///net/u/1/f/fdc/web/george-60.gif
- 1837. file:///net/u/1/f/fdc/web/george-62.gif
- 1838. file:///net/u/1/f/fdc/web/george.gif
- 1839. file:///net/u/1/f/fdc/web/george.html
- 1840. file:///net/u/1/f/fdc/web/getkermitscript.html
- 1841. file:///net/u/1/f/fdc/web/getkermitscript.html.%7E1%7E
- 1842. file:///net/u/1/f/fdc/web/getkermitscript.html.%7E2%7E
- 1843. file:///net/u/1/f/fdc/web/gkermit-de.html
- 1844. file:///net/u/1/f/fdc/web/gkermit.html
- 1845. file:///net/u/1/f/fdc/web/gkermit.html.%7E1%7E
- 1846. file:///net/u/1/f/fdc/web/glass.gif
- 1847. file:///net/u/1/f/fdc/web/glass.html
- 1848. file:///net/u/1/f/fdc/web/glass2.gif
- 1849. file:///net/u/1/f/fdc/web/glass2sm.gif
- 1850. file:///net/u/1/f/fdc/web/glass_sm.gif
- 1851. file:///net/u/1/f/fdc/web/gloss.html
- 1852. file:///net/u/1/f/fdc/web/gold.gif
- 1853. file:///net/u/1/f/fdc/web/gold2.gif
- 1854. file:///net/u/1/f/fdc/web/googlea2b1562c237018db.html
- 1855. file:///net/u/1/f/fdc/web/gothic.html
- 1856. file:///net/u/1/f/fdc/web/greek.html
- 1857. file:///net/u/1/f/fdc/web/gui
- 1858. file:///net/u/1/f/fdc/web/guiopen.gif
- 1859. file:///net/u/1/f/fdc/web/guipage.gif
- 1860. file:///net/u/1/f/fdc/web/guipopup.gif
- 1861. file:///net/u/1/f/fdc/web/guiscrn.gif
- 1862. file:///net/u/1/f/fdc/web/guiscrsm.gif
- 1863. file:///net/u/1/f/fdc/web/guistat.gif
- 1864. file:///net/u/1/f/fdc/web/guitools.gif
- 1865. file:///net/u/1/f/fdc/web/head-2014.html
- 1866. file:///net/u/1/f/fdc/web/head-en.html
- 1867. file:///net/u/1/f/fdc/web/head-es.html
- 1868. file:///net/u/1/f/fdc/web/head.html
- 1869. file:///net/u/1/f/fdc/web/head.html.%7E1%7E
- 1870. file:///net/u/1/f/fdc/web/head.html.%7E2%7E
- 1871. file:///net/u/1/f/fdc/web/head.html.%7E4%7E
- 1872. file:///net/u/1/f/fdc/web/head.html.%7E5%7E
- 1873. file:///net/u/1/f/fdc/web/hebrew.html
- 1874. file:///net/u/1/f/fdc/web/hebrew.utf8.txt
- 1875. file:///net/u/1/f/fdc/web/hebrew1.gif
- 1876. file:///net/u/1/f/fdc/web/hebrew2.gif
- 1877. file:///net/u/1/f/fdc/web/hello.ksc
- 1878. file:///net/u/1/f/fdc/web/helper.ksc
- 1879. file:///net/u/1/f/fdc/web/historical.html
- 1880. file:///net/u/1/f/fdc/web/home-es.html
- 1881. file:///net/u/1/f/fdc/web/home.html
- 1882. file:///net/u/1/f/fdc/web/home.html.save
- 1883. file:///net/u/1/f/fdc/web/hostmode.txt
- 1884. file:///net/u/1/f/fdc/web/hostuser.txt
- 1885. file:///net/u/1/f/fdc/web/hp.html
- 1886. file:///net/u/1/f/fdc/web/hp48-160.jpg
- 1887. file:///net/u/1/f/fdc/web/hp48-740.jpg
- 1888. file:///net/u/1/f/fdc/web/hp48-r.jpg
- 1889. file:///net/u/1/f/fdc/web/hp48-t.jpg
- 1890. file:///net/u/1/f/fdc/web/hp48.html
- 1891. file:///net/u/1/f/fdc/web/hp48.jpg
- 1892. file:///net/u/1/f/fdc/web/hp500.pdf
- 1893. file:///net/u/1/f/fdc/web/htaccess
- 1894. file:///net/u/1/f/fdc/web/html.html
- 1895. file:///net/u/1/f/fdc/web/html.html.%7E10%7E
- 1896. file:///net/u/1/f/fdc/web/html.html.%7E1%7E
- 1897. file:///net/u/1/f/fdc/web/html.html.%7E2%7E
- 1898. file:///net/u/1/f/fdc/web/html.html.%7E9%7E
- 1899. file:///net/u/1/f/fdc/web/httpd_logs
- 1900. file:///net/u/1/f/fdc/web/hudson.jpg
- 1901. file:///net/u/1/f/fdc/web/i40.gif
- 1902. file:///net/u/1/f/fdc/web/i40_i.gif
- 1903. file:///net/u/1/f/fdc/web/ibm370.html
- 1904. file:///net/u/1/f/fdc/web/ibm_05.jpg
- 1905. file:///net/u/1/f/fdc/web/ibm_ie.html
- 1906. file:///net/u/1/f/fdc/web/ibm_ie.old
- 1907. file:///net/u/1/f/fdc/web/icon-120.jpg
- 1908. file:///net/u/1/f/fdc/web/icon-16.jpg
- 1909. file:///net/u/1/f/fdc/web/icon-64.jpg
- 1910. file:///net/u/1/f/fdc/web/icon.jpg
- 1911. file:///net/u/1/f/fdc/web/ietf01.html
- 1912. file:///net/u/1/f/fdc/web/ietf01.txt
- 1913. file:///net/u/1/f/fdc/web/ik0431.html
- 1914. file:///net/u/1/f/fdc/web/ik0431_beta.html
- 1915. file:///net/u/1/f/fdc/web/iksd.html
- 1916. file:///net/u/1/f/fdc/web/iksuser.html
- 1917. file:///net/u/1/f/fdc/web/imagesloaded.pkgd.js
- 1918. file:///net/u/1/f/fdc/web/imall.gif
- 1919. file:///net/u/1/f/fdc/web/index-20171220.html
- 1920. file:///net/u/1/f/fdc/web/index-20190419.html
- 1921. file:///net/u/1/f/fdc/web/index-20200120%3A07%3A10%3A43.html
- 1922. file:///net/u/1/f/fdc/web/index-before-js.html
- 1923. file:///net/u/1/f/fdc/web/index-de-20110819.html
- 1924. file:///net/u/1/f/fdc/web/index-de.diff
- 1925. file:///net/u/1/f/fdc/web/index-de.html
- 1926. file:///net/u/1/f/fdc/web/index-en.html
- 1927. file:///net/u/1/f/fdc/web/index-es.html
- 1928. file:///net/u/1/f/fdc/web/index-es.html.%7E1%7E
- 1929. file:///net/u/1/f/fdc/web/index-es.html.%7E2%7E
- 1930. file:///net/u/1/f/fdc/web/index-es.html.%7E57%7E
- 1931. file:///net/u/1/f/fdc/web/index-es.html.%7E58%7E
- 1932. file:///net/u/1/f/fdc/web/index-es.txt
- 1933. file:///net/u/1/f/fdc/web/index-ftp-problem.html
- 1934. file:///net/u/1/f/fdc/web/index-latin1.html
- 1935. file:///net/u/1/f/fdc/web/index-notables.html
- 1936. file:///net/u/1/f/fdc/web/index-ru.html
- 1937. file:///net/u/1/f/fdc/web/index-utf8-backup.html
- 1938. file:///net/u/1/f/fdc/web/index-utf8.html
- 1939. file:///net/u/1/f/fdc/web/index.html
- 1940. file:///net/u/1/f/fdc/web/index.html.1
- 1941. file:///net/u/1/f/fdc/web/index.html.2
- 1942. file:///net/u/1/f/fdc/web/index.html.%7E147%7E
- 1943. file:///net/u/1/f/fdc/web/index.html.%7E148%7E
- 1944. file:///net/u/1/f/fdc/web/index.html.%7E1%7E
- 1945. file:///net/u/1/f/fdc/web/index.html.%7E2%7E
- 1946. file:///net/u/1/f/fdc/web/index.save
- 1947. file:///net/u/1/f/fdc/web/index.txt
- 1948. file:///net/u/1/f/fdc/web/index_before_award.html
- 1949. file:///net/u/1/f/fdc/web/infokermit.html
- 1950. file:///net/u/1/f/fdc/web/infwinston222a.html
- 1951. file:///net/u/1/f/fdc/web/input_nowrap.html
- 1952. file:///net/u/1/f/fdc/web/invest.gif
- 1953. file:///net/u/1/f/fdc/web/invest_i.gif
- 1954. file:///net/u/1/f/fdc/web/italy1.gif
- 1955. file:///net/u/1/f/fdc/web/its
- 1956. file:///net/u/1/f/fdc/web/j01.jpg
- 1957. file:///net/u/1/f/fdc/web/j02.jpg
- 1958. file:///net/u/1/f/fdc/web/j03.jpg
- 1959. file:///net/u/1/f/fdc/web/j04.jpg
- 1960. file:///net/u/1/f/fdc/web/j05.jpg
- 1961. file:///net/u/1/f/fdc/web/j06.jpg
- 1962. file:///net/u/1/f/fdc/web/j07.jpg
- 1963. file:///net/u/1/f/fdc/web/j08.jpg
- 1964. file:///net/u/1/f/fdc/web/j09.jpg
- 1965. file:///net/u/1/f/fdc/web/j10.jpg
- 1966. file:///net/u/1/f/fdc/web/j11.jpg
- 1967. file:///net/u/1/f/fdc/web/j12.jpg
- 1968. file:///net/u/1/f/fdc/web/j13.jpg
- 1969. file:///net/u/1/f/fdc/web/j14.jpg
- 1970. file:///net/u/1/f/fdc/web/k
- 1971. file:///net/u/1/f/fdc/web/k12doc.html
- 1972. file:///net/u/1/f/fdc/web/k370.html
- 1973. file:///net/u/1/f/fdc/web/k95-21-160.jpg
- 1974. file:///net/u/1/f/fdc/web/k95-21-400.jpg
- 1975. file:///net/u/1/f/fdc/web/k95-21-600.jpg
- 1976. file:///net/u/1/f/fdc/web/k95-21-80.jpg
- 1977. file:///net/u/1/f/fdc/web/k95-21-r.jpg
- 1978. file:///net/u/1/f/fdc/web/k95-21-t.jpg
- 1979. file:///net/u/1/f/fdc/web/k95-21.html
- 1980. file:///net/u/1/f/fdc/web/k95-21.jpg
- 1981. file:///net/u/1/f/fdc/web/k95-fixes-since-213.txt
- 1982. file:///net/u/1/f/fdc/web/k95-options.pdf
- 1983. file:///net/u/1/f/fdc/web/k95.html
- 1984. file:///net/u/1/f/fdc/web/k95.html.%7E10%7E
- 1985. file:///net/u/1/f/fdc/web/k95.html.%7E1%7E
- 1986. file:///net/u/1/f/fdc/web/k95.html.%7E2%7E
- 1987. file:///net/u/1/f/fdc/web/k95.html.%7E9%7E
- 1988. file:///net/u/1/f/fdc/web/k95.orig
- 1989. file:///net/u/1/f/fdc/web/k95.vt220.klone.test.jpg
- 1990. file:///net/u/1/f/fdc/web/k95.vt220.klone.test.off.jpg
- 1991. file:///net/u/1/f/fdc/web/k95.vt220.klone.test.on.jpg
- 1992. file:///net/u/1/f/fdc/web/k95
- 1993. file:///net/u/1/f/fdc/web/k95112.html
- 1994. file:///net/u/1/f/fdc/web/k95_1120.html
- 1995. file:///net/u/1/f/fdc/web/k95_1120_patch.html
- 1996. file:///net/u/1/f/fdc/web/k95_1121.html
- 1997. file:///net/u/1/f/fdc/web/k95_20
- 1998. file:///net/u/1/f/fdc/web/k95_20_ann.html
- 1999. file:///net/u/1/f/fdc/web/k95_213_ann.html
- 2000. file:///net/u/1/f/fdc/web/k95_213_crypto_bulk_dlo.exe
- 2001. file:///net/u/1/f/fdc/web/k95_21_ann.html
- 2002. file:///net/u/1/f/fdc/web/k95_21_beta.html
- 2003. file:///net/u/1/f/fdc/web/k95amazon.html
- 2004. file:///net/u/1/f/fdc/web/k95asl.html
- 2005. file:///net/u/1/f/fdc/web/k95beta.html
- 2006. file:///net/u/1/f/fdc/web/k95book-100.jpg
- 2007. file:///net/u/1/f/fdc/web/k95book-150.jpg
- 2008. file:///net/u/1/f/fdc/web/k95book-280.jpg
- 2009. file:///net/u/1/f/fdc/web/k95book-600.jpg
- 2010. file:///net/u/1/f/fdc/web/k95box.jpg
- 2011. file:///net/u/1/f/fdc/web/k95box2.jpg
- 2012. file:///net/u/1/f/fdc/web/k95boxes.gif
- 2013. file:///net/u/1/f/fdc/web/k95boxes2.jpg
- 2014. file:///net/u/1/f/fdc/web/k95bugs.html
- 2015. file:///net/u/1/f/fdc/web/k95bulk-20030101.html
- 2016. file:///net/u/1/f/fdc/web/k95bulk.html
- 2017. file:///net/u/1/f/fdc/web/k95charsets.html
- 2018. file:///net/u/1/f/fdc/web/k95compare.html
- 2019. file:///net/u/1/f/fdc/web/k95cover.gif
- 2020. file:///net/u/1/f/fdc/web/k95cover.html
- 2021. file:///net/u/1/f/fdc/web/k95cover2.jpg
- 2022. file:///net/u/1/f/fdc/web/k95cover3.jpg
- 2023. file:///net/u/1/f/fdc/web/k95cover4.jpg
- 2024. file:///net/u/1/f/fdc/web/k95cover5.jpg
- 2025. file:///net/u/1/f/fdc/web/k95cover6.jpg
- 2026. file:///net/u/1/f/fdc/web/k95da.html
- 2027. file:///net/u/1/f/fdc/web/k95dc.html
- 2028. file:///net/u/1/f/fdc/web/k95demo.html
- 2029. file:///net/u/1/f/fdc/web/k95demo.save
- 2030. file:///net/u/1/f/fdc/web/k95democ.html
- 2031. file:///net/u/1/f/fdc/web/k95dial.gif
- 2032. file:///net/u/1/f/fdc/web/k95dial.html
- 2033. file:///net/u/1/f/fdc/web/k95dll_c.txt
- 2034. file:///net/u/1/f/fdc/web/k95download.html
- 2035. file:///net/u/1/f/fdc/web/k95faithful
- 2036. file:///net/u/1/f/fdc/web/k95faithful.html
- 2037. file:///net/u/1/f/fdc/web/k95faq.html
- 2038. file:///net/u/1/f/fdc/web/k95faq.html.%7E12%7E
- 2039. file:///net/u/1/f/fdc/web/k95faq.html.%7E13%7E
- 2040. file:///net/u/1/f/fdc/web/k95faq.html.%7E1%7E
- 2041. file:///net/u/1/f/fdc/web/k95faq.html.%7E2%7E
- 2042. file:///net/u/1/f/fdc/web/k95features.gif
- 2043. file:///net/u/1/f/fdc/web/k95fixes.html
- 2044. file:///net/u/1/f/fdc/web/k95gallery.html
- 2045. file:///net/u/1/f/fdc/web/k95green.gif
- 2046. file:///net/u/1/f/fdc/web/k95gui.html
- 2047. file:///net/u/1/f/fdc/web/k95help.gif
- 2048. file:///net/u/1/f/fdc/web/k95hints.html
- 2049. file:///net/u/1/f/fdc/web/k95host.html
- 2050. file:///net/u/1/f/fdc/web/k95hostuser.txt
- 2051. file:///net/u/1/f/fdc/web/k95hyper.html
- 2052. file:///net/u/1/f/fdc/web/k95iksd.html
- 2053. file:///net/u/1/f/fdc/web/k95ins.html
- 2054. file:///net/u/1/f/fdc/web/k95jeff.html
- 2055. file:///net/u/1/f/fdc/web/k95jeff.html.%7E1%7E
- 2056. file:///net/u/1/f/fdc/web/k95k2pricing.html
- 2057. file:///net/u/1/f/fdc/web/k95kbpage.gif
- 2058. file:///net/u/1/f/fdc/web/k95keycodes.html
- 2059. file:///net/u/1/f/fdc/web/k95keymaps
- 2060. file:///net/u/1/f/fdc/web/k95license.html
- 2061. file:///net/u/1/f/fdc/web/k95license.html.%7E1%7E
- 2062. file:///net/u/1/f/fdc/web/k95manual-99.jpg
- 2063. file:///net/u/1/f/fdc/web/k95manual.jpg
- 2064. file:///net/u/1/f/fdc/web/k95manual
- 2065. file:///net/u/1/f/fdc/web/k95migrate.html
- 2066. file:///net/u/1/f/fdc/web/k95newbugs.html
- 2067. file:///net/u/1/f/fdc/web/k95news.html
- 2068. file:///net/u/1/f/fdc/web/k95next.html
- 2069. file:///net/u/1/f/fdc/web/k95oack.xxx
- 2070. file:///net/u/1/f/fdc/web/k95ofront.html
- 2071. file:///net/u/1/f/fdc/web/k95ofront.orig
- 2072. file:///net/u/1/f/fdc/web/k95order.html
- 2073. file:///net/u/1/f/fdc/web/k95patch.html
- 2074. file:///net/u/1/f/fdc/web/k95patches.html
- 2075. file:///net/u/1/f/fdc/web/k95pic1.gif
- 2076. file:///net/u/1/f/fdc/web/k95portable.html
- 2077. file:///net/u/1/f/fdc/web/k95qmodem.html
- 2078. file:///net/u/1/f/fdc/web/k95readme.html
- 2079. file:///net/u/1/f/fdc/web/k95red.gif
- 2080. file:///net/u/1/f/fdc/web/k95reviews.html
- 2081. file:///net/u/1/f/fdc/web/k95s2.gif
- 2082. file:///net/u/1/f/fdc/web/k95screen.gif
- 2083. file:///net/u/1/f/fdc/web/k95screens.gif
- 2084. file:///net/u/1/f/fdc/web/k95screens.html
- 2085. file:///net/u/1/f/fdc/web/k95scripts.html
- 2086. file:///net/u/1/f/fdc/web/k95shots.html
- 2087. file:///net/u/1/f/fdc/web/k95side.gif
- 2088. file:///net/u/1/f/fdc/web/k95side2.gif
- 2089. file:///net/u/1/f/fdc/web/k95sky.gif
- 2090. file:///net/u/1/f/fdc/web/k95small.gif
- 2091. file:///net/u/1/f/fdc/web/k95sourcecode-orig.html
- 2092. file:///net/u/1/f/fdc/web/k95sourcecode-orig.html.%7E1%7E
- 2093. file:///net/u/1/f/fdc/web/k95sourcecode.html
- 2094. file:///net/u/1/f/fdc/web/k95sourcecode.html.%7E13%7E
- 2095. file:///net/u/1/f/fdc/web/k95sourcecode.html.%7E14%7E
- 2096. file:///net/u/1/f/fdc/web/k95sourcecode.html.%7E1%7E
- 2097. file:///net/u/1/f/fdc/web/k95sourcecode.html.%7E2%7E
- 2098. file:///net/u/1/f/fdc/web/k95spine.gif
- 2099. file:///net/u/1/f/fdc/web/k95sscreen.gif
- 2100. file:///net/u/1/f/fdc/web/k95sshclient-polski.html
- 2101. file:///net/u/1/f/fdc/web/k95sshclient.html
- 2102. file:///net/u/1/f/fdc/web/k95stshot.jpg
- 2103. file:///net/u/1/f/fdc/web/k95support.html
- 2104. file:///net/u/1/f/fdc/web/k95survey.html
- 2105. file:///net/u/1/f/fdc/web/k95t2.gif
- 2106. file:///net/u/1/f/fdc/web/k95telnet.gif
- 2107. file:///net/u/1/f/fdc/web/k95telnet.html
- 2108. file:///net/u/1/f/fdc/web/k95term.gif
- 2109. file:///net/u/1/f/fdc/web/k95tohere.html
- 2110. file:///net/u/1/f/fdc/web/k95tshots.jpg
- 2111. file:///net/u/1/f/fdc/web/k95tutor.html
- 2112. file:///net/u/1/f/fdc/web/k95tutor.html.%7E1%7E
- 2113. file:///net/u/1/f/fdc/web/k95uniform.html
- 2114. file:///net/u/1/f/fdc/web/k95uninstall.html
- 2115. file:///net/u/1/f/fdc/web/k95updates.txt
- 2116. file:///net/u/1/f/fdc/web/k95upgrade.html
- 2117. file:///net/u/1/f/fdc/web/k95users.html
- 2118. file:///net/u/1/f/fdc/web/k95utils.html
- 2119. file:///net/u/1/f/fdc/web/k95v1package-100.jpg
- 2120. file:///net/u/1/f/fdc/web/k95v1package-120.jpg
- 2121. file:///net/u/1/f/fdc/web/k95v1package-160.jpg
- 2122. file:///net/u/1/f/fdc/web/k95v1package-280.jpg
- 2123. file:///net/u/1/f/fdc/web/k95v1package-740.jpg
- 2124. file:///net/u/1/f/fdc/web/k95vt95tn.html
- 2125. file:///net/u/1/f/fdc/web/k95vtcrt.html
- 2126. file:///net/u/1/f/fdc/web/k95vtewan.html
- 2127. file:///net/u/1/f/fdc/web/k95vtfk.html
- 2128. file:///net/u/1/f/fdc/web/k95vtk95.html
- 2129. file:///net/u/1/f/fdc/web/k95vtnterm.html
- 2130. file:///net/u/1/f/fdc/web/k95vtnterm27.html
- 2131. file:///net/u/1/f/fdc/web/k95vtnterm280.html
- 2132. file:///net/u/1/f/fdc/web/k95vtnttn.html
- 2133. file:///net/u/1/f/fdc/web/k95vtqmpro.html
- 2134. file:///net/u/1/f/fdc/web/k95vtsimp.html
- 2135. file:///net/u/1/f/fdc/web/k95vtwqvt.html
- 2136. file:///net/u/1/f/fdc/web/kanji.html
- 2137. file:///net/u/1/f/fdc/web/kanji.http
- 2138. file:///net/u/1/f/fdc/web/kanji1.gif
- 2139. file:///net/u/1/f/fdc/web/kanji2.gif
- 2140. file:///net/u/1/f/fdc/web/kanji_icon.gif
- 2141. file:///net/u/1/f/fdc/web/kb-latin-cyrillic.txt
- 2142. file:///net/u/1/f/fdc/web/kb-ru-utf8.html
- 2143. file:///net/u/1/f/fdc/web/kb-ru-utf8.html.%7E1%7E
- 2144. file:///net/u/1/f/fdc/web/kb-utf8.html
- 2145. file:///net/u/1/f/fdc/web/kermit-calendar-160.jpg
- 2146. file:///net/u/1/f/fdc/web/kermit-calendar-280.jpg
- 2147. file:///net/u/1/f/fdc/web/kermit-calendar-740.jpg
- 2148. file:///net/u/1/f/fdc/web/kermit-calendar.jpg
- 2149. file:///net/u/1/f/fdc/web/kermit-el.txt
- 2150. file:///net/u/1/f/fdc/web/kermit-es.html
- 2151. file:///net/u/1/f/fdc/web/kermit-es.html.%7E1%7E
- 2152. file:///net/u/1/f/fdc/web/kermit-es.html.%7E2%7E
- 2153. file:///net/u/1/f/fdc/web/kermit-es.html.%7E4%7E
- 2154. file:///net/u/1/f/fdc/web/kermit-es.html.%7E5%7E
- 2155. file:///net/u/1/f/fdc/web/kermit-sk.txt
- 2156. file:///net/u/1/f/fdc/web/kermit-strip-100.jpg
- 2157. file:///net/u/1/f/fdc/web/kermit-strip-120.jpg
- 2158. file:///net/u/1/f/fdc/web/kermit-strip-160.jpg
- 2159. file:///net/u/1/f/fdc/web/kermit-strip-280.jpg
- 2160. file:///net/u/1/f/fdc/web/kermit-strip2-100.jpg
- 2161. file:///net/u/1/f/fdc/web/kermit-strip2-120.jpg
- 2162. file:///net/u/1/f/fdc/web/kermit-strip2-160.jpg
- 2163. file:///net/u/1/f/fdc/web/kermit-strip2-280.jpg
- 2164. file:///net/u/1/f/fdc/web/kermit.css
- 2165. file:///net/u/1/f/fdc/web/kermit.css.%7E1%7E
- 2166. file:///net/u/1/f/fdc/web/kermit.css.%7E22%7E
- 2167. file:///net/u/1/f/fdc/web/kermit.css.%7E23%7E
- 2168. file:///net/u/1/f/fdc/web/kermit.css.%7E2%7E
- 2169. file:///net/u/1/f/fdc/web/kermit.gif
- 2170. file:///net/u/1/f/fdc/web/kermit.html
- 2171. file:///net/u/1/f/fdc/web/kermit.html.1
- 2172. file:///net/u/1/f/fdc/web/kermit.html.%7E1%7E
- 2173. file:///net/u/1/f/fdc/web/kermit.html.%7E2%7E
- 2174. file:///net/u/1/f/fdc/web/kermit.html.%7E43%7E
- 2175. file:///net/u/1/f/fdc/web/kermit.html.%7E44%7E
- 2176. file:///net/u/1/f/fdc/web/kermit95.html
- 2177. file:///net/u/1/f/fdc/web/kermitbook-100.jpg
- 2178. file:///net/u/1/f/fdc/web/kermitbook-115.jpg
- 2179. file:///net/u/1/f/fdc/web/kermitbook-150.jpg
- 2180. file:///net/u/1/f/fdc/web/kermitbook-200.jpg
- 2181. file:///net/u/1/f/fdc/web/kermitbook-280.jpg
- 2182. file:///net/u/1/f/fdc/web/kermitbook-300.jpg
- 2183. file:///net/u/1/f/fdc/web/kermitbook-600.jpg
- 2184. file:///net/u/1/f/fdc/web/kermitbook-back.jpg
- 2185. file:///net/u/1/f/fdc/web/kermitbook-ch3-ru-test.html
- 2186. file:///net/u/1/f/fdc/web/kermitbook-ch3-ru.html
- 2187. file:///net/u/1/f/fdc/web/kermitbook-ch3-ru.html.%7E1%7E
- 2188. file:///net/u/1/f/fdc/web/kermitbook-ch3-ru.html.%7E2%7E
- 2189. file:///net/u/1/f/fdc/web/kermitbook-front.jpg
- 2190. file:///net/u/1/f/fdc/web/kermitbook.jpg
- 2191. file:///net/u/1/f/fdc/web/kermitmanpage.html
- 2192. file:///net/u/1/f/fdc/web/keycodes.html
- 2193. file:///net/u/1/f/fdc/web/keycodes.html.untrimmed
- 2194. file:///net/u/1/f/fdc/web/kl10.jpg
- 2195. file:///net/u/1/f/fdc/web/kl10s.jpg
- 2196. file:///net/u/1/f/fdc/web/kn1-1000.jpg
- 2197. file:///net/u/1/f/fdc/web/kn1-280.jpg
- 2198. file:///net/u/1/f/fdc/web/kn2-1000.jpg
- 2199. file:///net/u/1/f/fdc/web/kn2-280.jpg
- 2200. file:///net/u/1/f/fdc/web/kn3-1000.jpg
- 2201. file:///net/u/1/f/fdc/web/kn3-280.jpg
- 2202. file:///net/u/1/f/fdc/web/kn4-1000.jpg
- 2203. file:///net/u/1/f/fdc/web/kn4-280.jpg
- 2204. file:///net/u/1/f/fdc/web/kn4.gif
- 2205. file:///net/u/1/f/fdc/web/kn4_cover.html
- 2206. file:///net/u/1/f/fdc/web/kn4_i.gif
- 2207. file:///net/u/1/f/fdc/web/kn5-1000.jpg
- 2208. file:///net/u/1/f/fdc/web/kn5-280.jpg
- 2209. file:///net/u/1/f/fdc/web/kn5.gif
- 2210. file:///net/u/1/f/fdc/web/kn5_cover.html
- 2211. file:///net/u/1/f/fdc/web/kn5_i.gif
- 2212. file:///net/u/1/f/fdc/web/kn6-1000.jpg
- 2213. file:///net/u/1/f/fdc/web/kn6-280.jpg
- 2214. file:///net/u/1/f/fdc/web/kn6.gif
- 2215. file:///net/u/1/f/fdc/web/kn6_cover.html
- 2216. file:///net/u/1/f/fdc/web/kn6_i.gif
- 2217. file:///net/u/1/f/fdc/web/koi7.html
- 2218. file:///net/u/1/f/fdc/web/koikeys
- 2219. file:///net/u/1/f/fdc/web/koikeys.html
- 2220. file:///net/u/1/f/fdc/web/koikeys.html.1
- 2221. file:///net/u/1/f/fdc/web/koikeys.html.%7E1%7E
- 2222. file:///net/u/1/f/fdc/web/koikeys.html.%7E2%7E
- 2223. file:///net/u/1/f/fdc/web/koikeys.txt
- 2224. file:///net/u/1/f/fdc/web/koikeys.txt.%7E1%7E
- 2225. file:///net/u/1/f/fdc/web/koikeys.%7E1%7E
- 2226. file:///net/u/1/f/fdc/web/kp-insecure-ff.jpg
- 2227. file:///net/u/1/f/fdc/web/kp-insecure-gc.jpg
- 2228. file:///net/u/1/f/fdc/web/kproto.pdf
- 2229. file:///net/u/1/f/fdc/web/ksitemap.html
- 2230. file:///net/u/1/f/fdc/web/ksitemap.html.%7E1%7E
- 2231. file:///net/u/1/f/fdc/web/kucs2.gif
- 2232. file:///net/u/1/f/fdc/web/kui1.gif
- 2233. file:///net/u/1/f/fdc/web/kui2.gif
- 2234. file:///net/u/1/f/fdc/web/kui3.gif
- 2235. file:///net/u/1/f/fdc/web/kui4.gif
- 2236. file:///net/u/1/f/fdc/web/kui5.gif
- 2237. file:///net/u/1/f/fdc/web/kui6.gif
- 2238. file:///net/u/1/f/fdc/web/kui7.gif
- 2239. file:///net/u/1/f/fdc/web/kui8.gif
- 2240. file:///net/u/1/f/fdc/web/kui9.gif
- 2241. file:///net/u/1/f/fdc/web/kuishots.html
- 2242. file:///net/u/1/f/fdc/web/kurier.pdf
- 2243. file:///net/u/1/f/fdc/web/kuser.hlp
- 2244. file:///net/u/1/f/fdc/web/kuser.hyp
- 2245. file:///net/u/1/f/fdc/web/kuser.mss
- 2246. file:///net/u/1/f/fdc/web/kuser.pdf
- 2247. file:///net/u/1/f/fdc/web/kuser.ps
- 2248. file:///net/u/1/f/fdc/web/kuser.txt
- 2249. file:///net/u/1/f/fdc/web/kverbs.html
- 2250. file:///net/u/1/f/fdc/web/l1-postal.html
- 2251. file:///net/u/1/f/fdc/web/langbuttons
- 2252. file:///net/u/1/f/fdc/web/langbuttons.%7E1%7E
- 2253. file:///net/u/1/f/fdc/web/langbuttons2
- 2254. file:///net/u/1/f/fdc/web/langbuttons3
- 2255. file:///net/u/1/f/fdc/web/langbuttons4
- 2256. file:///net/u/1/f/fdc/web/langbuttons5
- 2257. file:///net/u/1/f/fdc/web/langbuttons5.%7E1%7E
- 2258. file:///net/u/1/f/fdc/web/languages.html
- 2259. file:///net/u/1/f/fdc/web/latin1.html
- 2260. file:///net/u/1/f/fdc/web/latin2.html
- 2261. file:///net/u/1/f/fdc/web/latin3.html
- 2262. file:///net/u/1/f/fdc/web/latin4.html
- 2263. file:///net/u/1/f/fdc/web/latin9.html
- 2264. file:///net/u/1/f/fdc/web/lb2.jpg
- 2265. file:///net/u/1/f/fdc/web/lb3.jpg
- 2266. file:///net/u/1/f/fdc/web/lb3r.jpg
- 2267. file:///net/u/1/f/fdc/web/lb4.jpg
- 2268. file:///net/u/1/f/fdc/web/left-icon-dim.gif
- 2269. file:///net/u/1/f/fdc/web/left-icon.gif
- 2270. file:///net/u/1/f/fdc/web/licensing.html
- 2271. file:///net/u/1/f/fdc/web/links.html
- 2272. file:///net/u/1/f/fdc/web/links2go.gif
- 2273. file:///net/u/1/f/fdc/web/lion.jpg
- 2274. file:///net/u/1/f/fdc/web/locale.html
- 2275. file:///net/u/1/f/fdc/web/locale.html.%7E1%7E
- 2276. file:///net/u/1/f/fdc/web/locale.html.%7E2%7E
- 2277. file:///net/u/1/f/fdc/web/locale.html.%7E3%7E
- 2278. file:///net/u/1/f/fdc/web/logserial.html
- 2279. file:///net/u/1/f/fdc/web/low.jpg
- 2280. file:///net/u/1/f/fdc/web/lynx.gif
- 2281. file:///net/u/1/f/fdc/web/lynxsm.gif
- 2282. file:///net/u/1/f/fdc/web/m3d.gif
- 2283. file:///net/u/1/f/fdc/web/mac.html
- 2284. file:///net/u/1/f/fdc/web/mac.html.%7E1%7E
- 2285. file:///net/u/1/f/fdc/web/mackermit-160.jpg
- 2286. file:///net/u/1/f/fdc/web/mackermit-1600.jpg
- 2287. file:///net/u/1/f/fdc/web/mackermit.hqx
- 2288. file:///net/u/1/f/fdc/web/mackermithqx.txt
- 2289. file:///net/u/1/f/fdc/web/maclatin.html
- 2290. file:///net/u/1/f/fdc/web/manning_logo.gif
- 2291. file:///net/u/1/f/fdc/web/manuals.html
- 2292. file:///net/u/1/f/fdc/web/manuals.html.%7E10%7E
- 2293. file:///net/u/1/f/fdc/web/manuals.html.%7E1%7E
- 2294. file:///net/u/1/f/fdc/web/manuals.html.%7E2%7E
- 2295. file:///net/u/1/f/fdc/web/manuals.html.%7E9%7E
- 2296. file:///net/u/1/f/fdc/web/maritimecollege.html
- 2297. file:///net/u/1/f/fdc/web/markus-utf8.html
- 2298. file:///net/u/1/f/fdc/web/masonry.pkgd.min.js
- 2299. file:///net/u/1/f/fdc/web/masonry.pkgd.min.js_3.2.2
- 2300. file:///net/u/1/f/fdc/web/mastercard.gif
- 2301. file:///net/u/1/f/fdc/web/mazovia.html
- 2302. file:///net/u/1/f/fdc/web/mazovia2.html
- 2303. file:///net/u/1/f/fdc/web/mdms.gif
- 2304. file:///net/u/1/f/fdc/web/mdms2.gif
- 2305. file:///net/u/1/f/fdc/web/menu-en.html
- 2306. file:///net/u/1/f/fdc/web/menu-en.html.1
- 2307. file:///net/u/1/f/fdc/web/menu-en.html.%7E1%7E
- 2308. file:///net/u/1/f/fdc/web/menu-es.html
- 2309. file:///net/u/1/f/fdc/web/menu-es.html.1
- 2310. file:///net/u/1/f/fdc/web/menu.gif
- 2311. file:///net/u/1/f/fdc/web/menu.html
- 2312. file:///net/u/1/f/fdc/web/menu_sm.gif
- 2313. file:///net/u/1/f/fdc/web/menubar.gif
- 2314. file:///net/u/1/f/fdc/web/metal.jpg
- 2315. file:///net/u/1/f/fdc/web/metro.gif
- 2316. file:///net/u/1/f/fdc/web/metro_sm.gif
- 2317. file:///net/u/1/f/fdc/web/misconceptions.html
- 2318. file:///net/u/1/f/fdc/web/mltbl.html
- 2319. file:///net/u/1/f/fdc/web/mm.html
- 2320. file:///net/u/1/f/fdc/web/mm
- 2321. file:///net/u/1/f/fdc/web/mobile.html
- 2322. file:///net/u/1/f/fdc/web/modemcable.jpg
- 2323. file:///net/u/1/f/fdc/web/moreinfo.html
- 2324. file:///net/u/1/f/fdc/web/moreorless.html
- 2325. file:///net/u/1/f/fdc/web/moreorless.html.%7E1%7E
- 2326. file:///net/u/1/f/fdc/web/mrzip.jpg
- 2327. file:///net/u/1/f/fdc/web/msbde.gif
- 2328. file:///net/u/1/f/fdc/web/msbde_.gif.cu
- 2329. file:///net/u/1/f/fdc/web/msbde_i.gif
- 2330. file:///net/u/1/f/fdc/web/msben_i.gif
- 2331. file:///net/u/1/f/fdc/web/msbfr_i.gif
- 2332. file:///net/u/1/f/fdc/web/msbjp.jpg
- 2333. file:///net/u/1/f/fdc/web/msbjp_2.jpg
- 2334. file:///net/u/1/f/fdc/web/msbjp_3.jpg
- 2335. file:///net/u/1/f/fdc/web/msbjp_i.gif
- 2336. file:///net/u/1/f/fdc/web/msbook-strip-1-080.jpg
- 2337. file:///net/u/1/f/fdc/web/msbook-strip-1-100.jpg
- 2338. file:///net/u/1/f/fdc/web/msbook-strip-1-150.jpg
- 2339. file:///net/u/1/f/fdc/web/msbook-strip-1-200.jpg
- 2340. file:///net/u/1/f/fdc/web/msbook-strip-1-280.jpg
- 2341. file:///net/u/1/f/fdc/web/msk1.gif
- 2342. file:///net/u/1/f/fdc/web/msk2.gif
- 2343. file:///net/u/1/f/fdc/web/msk30.html
- 2344. file:///net/u/1/f/fdc/web/msk314.html
- 2345. file:///net/u/1/f/fdc/web/msk315.html
- 2346. file:///net/u/1/f/fdc/web/msk316.html
- 2347. file:///net/u/1/f/fdc/web/msk95.html
- 2348. file:///net/u/1/f/fdc/web/msk95.html.%7E1%7E
- 2349. file:///net/u/1/f/fdc/web/mskermit
- 2350. file:///net/u/1/f/fdc/web/mskermit.html
- 2351. file:///net/u/1/f/fdc/web/mskermit.html.%7E1%7E
- 2352. file:///net/u/1/f/fdc/web/mskermit.html.%7E2%7E
- 2353. file:///net/u/1/f/fdc/web/mskermit.html.%7E5%7E
- 2354. file:///net/u/1/f/fdc/web/mskermit.html.%7E6%7E
- 2355. file:///net/u/1/f/fdc/web/mskermit1e-100.jpg
- 2356. file:///net/u/1/f/fdc/web/mskermit1e-150.jpg
- 2357. file:///net/u/1/f/fdc/web/mskermit1e-280.jpg
- 2358. file:///net/u/1/f/fdc/web/mskermit1e-600.jpg
- 2359. file:///net/u/1/f/fdc/web/mskermit2e-100.jpg
- 2360. file:///net/u/1/f/fdc/web/mskermit2e-150.jpg
- 2361. file:///net/u/1/f/fdc/web/mskermit2e-280.jpg
- 2362. file:///net/u/1/f/fdc/web/mskermit2e-600.jpg
- 2363. file:///net/u/1/f/fdc/web/mskermitbook-115.jpg
- 2364. file:///net/u/1/f/fdc/web/mskermitbook-200.jpg
- 2365. file:///net/u/1/f/fdc/web/mskermitbook-300.jpg
- 2366. file:///net/u/1/f/fdc/web/mskermitbook-600.jpg
- 2367. file:///net/u/1/f/fdc/web/mskermitbook-80.jpg
- 2368. file:///net/u/1/f/fdc/web/mskermitbook.jpg
- 2369. file:///net/u/1/f/fdc/web/mskermitde-100.jpg
- 2370. file:///net/u/1/f/fdc/web/mskermitde-150.jpg
- 2371. file:///net/u/1/f/fdc/web/mskermitde-280.jpg
- 2372. file:///net/u/1/f/fdc/web/mskermitde-600.jpg
- 2373. file:///net/u/1/f/fdc/web/mskermitfr-100.jpg
- 2374. file:///net/u/1/f/fdc/web/mskermitfr-150.jpg
- 2375. file:///net/u/1/f/fdc/web/mskermitfr-280.jpg
- 2376. file:///net/u/1/f/fdc/web/mskermitfr-600.jpg
- 2377. file:///net/u/1/f/fdc/web/mskermitjp-100.jpg
- 2378. file:///net/u/1/f/fdc/web/mskermitjp-150.jpg
- 2379. file:///net/u/1/f/fdc/web/mskermitjp-280.jpg
- 2380. file:///net/u/1/f/fdc/web/mskermitjp-600.jpg
- 2381. file:///net/u/1/f/fdc/web/mskgraphics.html
- 2382. file:///net/u/1/f/fdc/web/mskorder.html
- 2383. file:///net/u/1/f/fdc/web/mskoverview.html
- 2384. file:///net/u/1/f/fdc/web/mskreviews.html
- 2385. file:///net/u/1/f/fdc/web/msksas.html
- 2386. file:///net/u/1/f/fdc/web/mskscripts.html
- 2387. file:///net/u/1/f/fdc/web/mskwitten.html
- 2388. file:///net/u/1/f/fdc/web/mslogo3.gif
- 2389. file:///net/u/1/f/fdc/web/mslogo4.gif
- 2390. file:///net/u/1/f/fdc/web/museum-160.jpg
- 2391. file:///net/u/1/f/fdc/web/museum.jpg
- 2392. file:///net/u/1/f/fdc/web/musthave.gif
- 2393. file:///net/u/1/f/fdc/web/nadc.gif
- 2394. file:///net/u/1/f/fdc/web/nasa.html
- 2395. file:///net/u/1/f/fdc/web/ndbw-strip1-140.jpg
- 2396. file:///net/u/1/f/fdc/web/ndbw-strip1-80.jpg
- 2397. file:///net/u/1/f/fdc/web/netnews.html
- 2398. file:///net/u/1/f/fdc/web/new.html.%7E1%7E
- 2399. file:///net/u/1/f/fdc/web/new
- 2400. file:///net/u/1/f/fdc/web/newbugs.txt
- 2401. file:///net/u/1/f/fdc/web/newdaily.html.%7E1%7E
- 2402. file:///net/u/1/f/fdc/web/newdaily.html.%7E2%7E
- 2403. file:///net/u/1/f/fdc/web/newdeal.jpg
- 2404. file:///net/u/1/f/fdc/web/newdeal
- 2405. file:///net/u/1/f/fdc/web/newdealgallery-560.jpg
- 2406. file:///net/u/1/f/fdc/web/newdealgallery-620.jpg
- 2407. file:///net/u/1/f/fdc/web/newdealgallery-700.jpg
- 2408. file:///net/u/1/f/fdc/web/newdialer.html
- 2409. file:///net/u/1/f/fdc/web/newfaq.html
- 2410. file:///net/u/1/f/fdc/web/newftp.html
- 2411. file:///net/u/1/f/fdc/web/newftpclient-es.html
- 2412. file:///net/u/1/f/fdc/web/newftpclient-es.html.%7E1%7E
- 2413. file:///net/u/1/f/fdc/web/newindex.html
- 2414. file:///net/u/1/f/fdc/web/newindex.html.1
- 2415. file:///net/u/1/f/fdc/web/newindex.html.2
- 2416. file:///net/u/1/f/fdc/web/newindex.html.3
- 2417. file:///net/u/1/f/fdc/web/newindex.html.3.%7E1%7E
- 2418. file:///net/u/1/f/fdc/web/newindex.html.3.%7E2%7E
- 2419. file:///net/u/1/f/fdc/web/newindex.html.4
- 2420. file:///net/u/1/f/fdc/web/newindex.html.4.%7E1%7E
- 2421. file:///net/u/1/f/fdc/web/newindex.html.4.%7E2%7E
- 2422. file:///net/u/1/f/fdc/web/newindex.html.5
- 2423. file:///net/u/1/f/fdc/web/newindex.html.5.%7E1%7E
- 2424. file:///net/u/1/f/fdc/web/newindex.html.6
- 2425. file:///net/u/1/f/fdc/web/newindex.html.6.%7E1%7E
- 2426. file:///net/u/1/f/fdc/web/newindex.html.6.%7E2%7E
- 2427. file:///net/u/1/f/fdc/web/newindex.html.%7E1%7E
- 2428. file:///net/u/1/f/fdc/web/newindex.html.%7E2%7E
- 2429. file:///net/u/1/f/fdc/web/newindex.html.%7E5%7E
- 2430. file:///net/u/1/f/fdc/web/newindex.html.%7E6%7E
- 2431. file:///net/u/1/f/fdc/web/newk95.html.%7E1%7E
- 2432. file:///net/u/1/f/fdc/web/newk95.html.%7E2%7E
- 2433. file:///net/u/1/f/fdc/web/newk95.html.%7E3%7E
- 2434. file:///net/u/1/f/fdc/web/newk95
- 2435. file:///net/u/1/f/fdc/web/newnotes.html
- 2436. file:///net/u/1/f/fdc/web/newphotogallery.html.%7E11%7E
- 2437. file:///net/u/1/f/fdc/web/newphotogallery.html.%7E12%7E
- 2438. file:///net/u/1/f/fdc/web/newphotogallery.html.%7E1%7E
- 2439. file:///net/u/1/f/fdc/web/newphotogallery.html.%7E2%7E
- 2440. file:///net/u/1/f/fdc/web/news-gallery.html
- 2441. file:///net/u/1/f/fdc/web/news-strip-1-100.jpg
- 2442. file:///net/u/1/f/fdc/web/news-strip-1-150.jpg
- 2443. file:///net/u/1/f/fdc/web/news-strip-1-200.jpg
- 2444. file:///net/u/1/f/fdc/web/news-strip-1-280.jpg
- 2445. file:///net/u/1/f/fdc/web/news.html
- 2446. file:///net/u/1/f/fdc/web/newsn1.pdf
- 2447. file:///net/u/1/f/fdc/web/newsn2.pdf
- 2448. file:///net/u/1/f/fdc/web/newsn2.ps
- 2449. file:///net/u/1/f/fdc/web/newsn2.txt
- 2450. file:///net/u/1/f/fdc/web/newsn3.html
- 2451. file:///net/u/1/f/fdc/web/newsn3.pdf
- 2452. file:///net/u/1/f/fdc/web/newsn3.ps
- 2453. file:///net/u/1/f/fdc/web/newsn3.txt
- 2454. file:///net/u/1/f/fdc/web/newsn4.html
- 2455. file:///net/u/1/f/fdc/web/newsn4.pdf
- 2456. file:///net/u/1/f/fdc/web/newsn4.ps
- 2457. file:///net/u/1/f/fdc/web/newsn5.html
- 2458. file:///net/u/1/f/fdc/web/newsn5.pdf
- 2459. file:///net/u/1/f/fdc/web/newsn6.html
- 2460. file:///net/u/1/f/fdc/web/newsn6.pdf
- 2461. file:///net/u/1/f/fdc/web/newtranslations.html
- 2462. file:///net/u/1/f/fdc/web/newtranslations.html.%7E1%7E
- 2463. file:///net/u/1/f/fdc/web/newupdates.html.%7E1%7E
- 2464. file:///net/u/1/f/fdc/web/newupdates.html.%7E2%7E
- 2465. file:///net/u/1/f/fdc/web/newupdates.html.%7E6%7E
- 2466. file:///net/u/1/f/fdc/web/newupdates.html.%7E7%7E
- 2467. file:///net/u/1/f/fdc/web/noconvertset%3D1
- 2468. file:///net/u/1/f/fdc/web/noexport.html
- 2469. file:///net/u/1/f/fdc/web/noexport.orig
- 2470. file:///net/u/1/f/fdc/web/nonusa.html
- 2471. file:///net/u/1/f/fdc/web/norway.gif
- 2472. file:///net/u/1/f/fdc/web/nullmodem-480.jpg
- 2473. file:///net/u/1/f/fdc/web/nullmodem.jpg
- 2474. file:///net/u/1/f/fdc/web/nyc.jpg
- 2475. file:///net/u/1/f/fdc/web/nyc005c.jpg
- 2476. file:///net/u/1/f/fdc/web/nyc008c.jpg
- 2477. file:///net/u/1/f/fdc/web/nyc010c.jpg
- 2478. file:///net/u/1/f/fdc/web/nyc010s.jpg
- 2479. file:///net/u/1/f/fdc/web/nyc010x.jpg
- 2480. file:///net/u/1/f/fdc/web/nyc020c.jpg
- 2481. file:///net/u/1/f/fdc/web/nyc022b.jpg
- 2482. file:///net/u/1/f/fdc/web/nyc022c.jpg
- 2483. file:///net/u/1/f/fdc/web/nyc024c.jpg
- 2484. file:///net/u/1/f/fdc/web/nyc025a.jpg
- 2485. file:///net/u/1/f/fdc/web/nyc037c.jpg
- 2486. file:///net/u/1/f/fdc/web/nyc051b.jpg
- 2487. file:///net/u/1/f/fdc/web/nyc051c.jpg
- 2488. file:///net/u/1/f/fdc/web/nyc053b.jpg
- 2489. file:///net/u/1/f/fdc/web/nyc053c.jpg
- 2490. file:///net/u/1/f/fdc/web/nyc055c.gif
- 2491. file:///net/u/1/f/fdc/web/nyc056b.jpg
- 2492. file:///net/u/1/f/fdc/web/nyc056c.jpg
- 2493. file:///net/u/1/f/fdc/web/nyc057c.jpg
- 2494. file:///net/u/1/f/fdc/web/nyc064b.jpg
- 2495. file:///net/u/1/f/fdc/web/nyc064c.jpg
- 2496. file:///net/u/1/f/fdc/web/nyc077c.jpg
- 2497. file:///net/u/1/f/fdc/web/nyc077x.jpg
- 2498. file:///net/u/1/f/fdc/web/nyc080c.jpg
- 2499. file:///net/u/1/f/fdc/web/nyc081x.jpg
- 2500. file:///net/u/1/f/fdc/web/nyc082c.jpg
- 2501. file:///net/u/1/f/fdc/web/nyc083c.jpg
- 2502. file:///net/u/1/f/fdc/web/nyc089c.jpg
- 2503. file:///net/u/1/f/fdc/web/nyc092c.jpg
- 2504. file:///net/u/1/f/fdc/web/nyc093c.jpg
- 2505. file:///net/u/1/f/fdc/web/nyc2000.jpg
- 2506. file:///net/u/1/f/fdc/web/ocolors.gif
- 2507. file:///net/u/1/f/fdc/web/ocolorssm.gif
- 2508. file:///net/u/1/f/fdc/web/oe-pgs.gif
- 2509. file:///net/u/1/f/fdc/web/oechtringen-sm.jpg
- 2510. file:///net/u/1/f/fdc/web/old-manuals.html
- 2511. file:///net/u/1/f/fdc/web/old-support.html
- 2512. file:///net/u/1/f/fdc/web/old-vendor.html
- 2513. file:///net/u/1/f/fdc/web/old
- 2514. file:///net/u/1/f/fdc/web/oldfaq.html
- 2515. file:///net/u/1/f/fdc/web/oldlinks.html
- 2516. file:///net/u/1/f/fdc/web/oldperf.html
- 2517. file:///net/u/1/f/fdc/web/omanuals.html
- 2518. file:///net/u/1/f/fdc/web/omnibus.html
- 2519. file:///net/u/1/f/fdc/web/onlinebooks
- 2520. file:///net/u/1/f/fdc/web/openssl_button.gif
- 2521. file:///net/u/1/f/fdc/web/openssl_button.html
- 2522. file:///net/u/1/f/fdc/web/optimumad3.jpg
- 2523. file:///net/u/1/f/fdc/web/original-search.html
- 2524. file:///net/u/1/f/fdc/web/os2.html
- 2525. file:///net/u/1/f/fdc/web/os2beta.html
- 2526. file:///net/u/1/f/fdc/web/os2bug.html
- 2527. file:///net/u/1/f/fdc/web/os2computing.html
- 2528. file:///net/u/1/f/fdc/web/os2k95-1.gif
- 2529. file:///net/u/1/f/fdc/web/os2k95-2.gif
- 2530. file:///net/u/1/f/fdc/web/os2new.html
- 2531. file:///net/u/1/f/fdc/web/os2order.html
- 2532. file:///net/u/1/f/fdc/web/os2reviews.html
- 2533. file:///net/u/1/f/fdc/web/os2shots.html
- 2534. file:///net/u/1/f/fdc/web/os2specs.html
- 2535. file:///net/u/1/f/fdc/web/other.html
- 2536. file:///net/u/1/f/fdc/web/other
- 2537. file:///net/u/1/f/fdc/web/oval
- 2538. file:///net/u/1/f/fdc/web/oval80letter.jpg
- 2539. file:///net/u/1/f/fdc/web/pace-1.html
- 2540. file:///net/u/1/f/fdc/web/pace-2.html
- 2541. file:///net/u/1/f/fdc/web/pace.gif
- 2542. file:///net/u/1/f/fdc/web/pace.html
- 2543. file:///net/u/1/f/fdc/web/pace2.gif
- 2544. file:///net/u/1/f/fdc/web/pace_sm.gif
- 2545. file:///net/u/1/f/fdc/web/pagers.html
- 2546. file:///net/u/1/f/fdc/web/palace.jpg
- 2547. file:///net/u/1/f/fdc/web/pan.gif
- 2548. file:///net/u/1/f/fdc/web/pan2.gif
- 2549. file:///net/u/1/f/fdc/web/pan2_s.gif
- 2550. file:///net/u/1/f/fdc/web/pan3-sm.jpg
- 2551. file:///net/u/1/f/fdc/web/pan3.gif
- 2552. file:///net/u/1/f/fdc/web/pan3_sm.gif
- 2553. file:///net/u/1/f/fdc/web/pan_7.gif
- 2554. file:///net/u/1/f/fdc/web/pan_8.gif
- 2555. file:///net/u/1/f/fdc/web/pano.gif
- 2556. file:///net/u/1/f/fdc/web/pano2.jpg
- 2557. file:///net/u/1/f/fdc/web/panorama.html
- 2558. file:///net/u/1/f/fdc/web/papers.html
- 2559. file:///net/u/1/f/fdc/web/paradigms.html
- 2560. file:///net/u/1/f/fdc/web/paypal
- 2561. file:///net/u/1/f/fdc/web/pcgi-bin
- 2562. file:///net/u/1/f/fdc/web/pckermit.exe
- 2563. file:///net/u/1/f/fdc/web/pcunix.html
- 2564. file:///net/u/1/f/fdc/web/pdc.ico
- 2565. file:///net/u/1/f/fdc/web/pdp10-134.html
- 2566. file:///net/u/1/f/fdc/web/pdp10-strip1-120.jpg
- 2567. file:///net/u/1/f/fdc/web/pdp10-strip1-160.jpg
- 2568. file:///net/u/1/f/fdc/web/pdp10.html
- 2569. file:///net/u/1/f/fdc/web/pdp10.html.%7E1%7E
- 2570. file:///net/u/1/f/fdc/web/pdp10.html.%7E2%7E
- 2571. file:///net/u/1/f/fdc/web/pdp10.html.%7E3%7E
- 2572. file:///net/u/1/f/fdc/web/pdp11-strip1-120.jpg
- 2573. file:///net/u/1/f/fdc/web/pdp11-strip1-160.jpg
- 2574. file:///net/u/1/f/fdc/web/pdp11.html
- 2575. file:///net/u/1/f/fdc/web/pdp11.txt
- 2576. file:///net/u/1/f/fdc/web/pdp11
- 2577. file:///net/u/1/f/fdc/web/pdp1150-r.jpg
- 2578. file:///net/u/1/f/fdc/web/pdp1150-t.jpg
- 2579. file:///net/u/1/f/fdc/web/pdp1150.html
- 2580. file:///net/u/1/f/fdc/web/pdp1150.jpg
- 2581. file:///net/u/1/f/fdc/web/pdp1170.jpg
- 2582. file:///net/u/1/f/fdc/web/pdp12-1.gif
- 2583. file:///net/u/1/f/fdc/web/pdp12-1.jpg
- 2584. file:///net/u/1/f/fdc/web/pdp12-2.gif
- 2585. file:///net/u/1/f/fdc/web/pdp12-2.jpg
- 2586. file:///net/u/1/f/fdc/web/pdp12.html
- 2587. file:///net/u/1/f/fdc/web/pdp12.jpg
- 2588. file:///net/u/1/f/fdc/web/pdp8-1.jpg
- 2589. file:///net/u/1/f/fdc/web/pdp8-2.jpg
- 2590. file:///net/u/1/f/fdc/web/pdp8-3.jpg
- 2591. file:///net/u/1/f/fdc/web/pdp8-l.jpg
- 2592. file:///net/u/1/f/fdc/web/pdp8-strip1-120.jpg
- 2593. file:///net/u/1/f/fdc/web/pdp8-strip1-160.jpg
- 2594. file:///net/u/1/f/fdc/web/pdp8-strip1-300.jpg
- 2595. file:///net/u/1/f/fdc/web/pdp8.html
- 2596. file:///net/u/1/f/fdc/web/pdp8.jpg
- 2597. file:///net/u/1/f/fdc/web/pdp8m1.jpg
- 2598. file:///net/u/1/f/fdc/web/pdp8m2.jpg
- 2599. file:///net/u/1/f/fdc/web/pdp8m3.jpg
- 2600. file:///net/u/1/f/fdc/web/pdp8m4.jpg
- 2601. file:///net/u/1/f/fdc/web/pdp8m5.gif
- 2602. file:///net/u/1/f/fdc/web/pdp8m6.jpg
- 2603. file:///net/u/1/f/fdc/web/perf.html
- 2604. file:///net/u/1/f/fdc/web/peter
- 2605. file:///net/u/1/f/fdc/web/petere.html
- 2606. file:///net/u/1/f/fdc/web/pg300.tar
- 2607. file:///net/u/1/f/fdc/web/pg300
- 2608. file:///net/u/1/f/fdc/web/photogallery.html
- 2609. file:///net/u/1/f/fdc/web/photogallery.html.1
- 2610. file:///net/u/1/f/fdc/web/photogallery.html.2
- 2611. file:///net/u/1/f/fdc/web/photogallery.html.3
- 2612. file:///net/u/1/f/fdc/web/photogallery.html.4
- 2613. file:///net/u/1/f/fdc/web/photogallery.html.5
- 2614. file:///net/u/1/f/fdc/web/photogallery.html.%7E1%7E
- 2615. file:///net/u/1/f/fdc/web/photogallery.html.%7E2%7E
- 2616. file:///net/u/1/f/fdc/web/photogallery.html.%7E60%7E
- 2617. file:///net/u/1/f/fdc/web/photogallery.html.%7E61%7E
- 2618. file:///net/u/1/f/fdc/web/photogallery100.html
- 2619. file:///net/u/1/f/fdc/web/picinfo
- 2620. file:///net/u/1/f/fdc/web/plchars.html
- 2621. file:///net/u/1/f/fdc/web/polski
- 2622. file:///net/u/1/f/fdc/web/portable.html
- 2623. file:///net/u/1/f/fdc/web/portugal.gif
- 2624. file:///net/u/1/f/fdc/web/ppindex.html.%7E1%7E
- 2625. file:///net/u/1/f/fdc/web/ppindex.html.%7E2%7E
- 2626. file:///net/u/1/f/fdc/web/pre-enc-noexport.html
- 2627. file:///net/u/1/f/fdc/web/proof.html
- 2628. file:///net/u/1/f/fdc/web/proof.pdf
- 2629. file:///net/u/1/f/fdc/web/r.html
- 2630. file:///net/u/1/f/fdc/web/redhook.html
- 2631. file:///net/u/1/f/fdc/web/register.html
- 2632. file:///net/u/1/f/fdc/web/register_nokits.html
- 2633. file:///net/u/1/f/fdc/web/remind.html
- 2634. file:///net/u/1/f/fdc/web/remind.html.%7E1%7E
- 2635. file:///net/u/1/f/fdc/web/remind.html.%7E2%7E
- 2636. file:///net/u/1/f/fdc/web/remind.html.%7E3%7E
- 2637. file:///net/u/1/f/fdc/web/remind1.html
- 2638. file:///net/u/1/f/fdc/web/replacetextblock.html
- 2639. file:///net/u/1/f/fdc/web/replacetextblock.html.%7E1%7E
- 2640. file:///net/u/1/f/fdc/web/replacetextblock.html.%7E2%7E
- 2641. file:///net/u/1/f/fdc/web/replacetextblock.html.%7E3%7E
- 2642. file:///net/u/1/f/fdc/web/replacetextblock.html.%7E4%7E
- 2643. file:///net/u/1/f/fdc/web/rfc2839a.html
- 2644. file:///net/u/1/f/fdc/web/rfc2840a.html
- 2645. file:///net/u/1/f/fdc/web/rfc822.txt
- 2646. file:///net/u/1/f/fdc/web/right-icon-dim.gif
- 2647. file:///net/u/1/f/fdc/web/right-icon.gif
- 2648. file:///net/u/1/f/fdc/web/river.jpg
- 2649. file:///net/u/1/f/fdc/web/rms.html
- 2650. file:///net/u/1/f/fdc/web/robots.txt
- 2651. file:///net/u/1/f/fdc/web/robots.txt.%7E1%7E
- 2652. file:///net/u/1/f/fdc/web/rpm.html
- 2653. file:///net/u/1/f/fdc/web/russian.jpg
- 2654. file:///net/u/1/f/fdc/web/s2.html
- 2655. file:///net/u/1/f/fdc/web/safe.html
- 2656. file:///net/u/1/f/fdc/web/sanskrit
- 2657. file:///net/u/1/f/fdc/web/save
- 2658. file:///net/u/1/f/fdc/web/scriptlib.html
- 2659. file:///net/u/1/f/fdc/web/scriptlicense.html
- 2660. file:///net/u/1/f/fdc/web/scriptlicense.html.%7E1%7E
- 2661. file:///net/u/1/f/fdc/web/scriptref.html
- 2662. file:///net/u/1/f/fdc/web/scripts.html
- 2663. file:///net/u/1/f/fdc/web/scroll.html
- 2664. file:///net/u/1/f/fdc/web/sdk.html
- 2665. file:///net/u/1/f/fdc/web/search.html
- 2666. file:///net/u/1/f/fdc/web/secure.html
- 2667. file:///net/u/1/f/fdc/web/secure.html.backup
- 2668. file:///net/u/1/f/fdc/web/security.html
- 2669. file:///net/u/1/f/fdc/web/security.html.%7E1%7E
- 2670. file:///net/u/1/f/fdc/web/security.html.%7E2%7E
- 2671. file:///net/u/1/f/fdc/web/shield.gif
- 2672. file:///net/u/1/f/fdc/web/shipping.html
- 2673. file:///net/u/1/f/fdc/web/shippinghtml.old
- 2674. file:///net/u/1/f/fdc/web/shots.html
- 2675. file:///net/u/1/f/fdc/web/siia.gif
- 2676. file:///net/u/1/f/fdc/web/siia2.gif
- 2677. file:///net/u/1/f/fdc/web/siia3.gif
- 2678. file:///net/u/1/f/fdc/web/siia4.gif
- 2679. file:///net/u/1/f/fdc/web/siiatext.gif
- 2680. file:///net/u/1/f/fdc/web/site.idx
- 2681. file:///net/u/1/f/fdc/web/sitemap.ante
- 2682. file:///net/u/1/f/fdc/web/sitemap.ayer
- 2683. file:///net/u/1/f/fdc/web/sitemap.save
- 2684. file:///net/u/1/f/fdc/web/sitemap.xml
- 2685. file:///net/u/1/f/fdc/web/skermit.html
- 2686. file:///net/u/1/f/fdc/web/sni02.jpg
- 2687. file:///net/u/1/f/fdc/web/sni03.jpg
- 2688. file:///net/u/1/f/fdc/web/sni2_05.jpg
- 2689. file:///net/u/1/f/fdc/web/sni_05.jpg
- 2690. file:///net/u/1/f/fdc/web/softchoice.gif
- 2691. file:///net/u/1/f/fdc/web/sorttable.js
- 2692. file:///net/u/1/f/fdc/web/spa.gif
- 2693. file:///net/u/1/f/fdc/web/spa_sml.gif
- 2694. file:///net/u/1/f/fdc/web/ssh.html
- 2695. file:///net/u/1/f/fdc/web/sshclien.html
- 2696. file:///net/u/1/f/fdc/web/sshclient-be.htm
- 2697. file:///net/u/1/f/fdc/web/sshclient-be.html
- 2698. file:///net/u/1/f/fdc/web/sshclient.html
- 2699. file:///net/u/1/f/fdc/web/sshclient.html.%7E1%7E
- 2700. file:///net/u/1/f/fdc/web/sshclient.html.%7E2%7E
- 2701. file:///net/u/1/f/fdc/web/sshclient.html.%7E3%7E
- 2702. file:///net/u/1/f/fdc/web/sshclient.html.%7E4%7E
- 2703. file:///net/u/1/f/fdc/web/sshclient.utf8
- 2704. file:///net/u/1/f/fdc/web/st-erkenwald.gif
- 2705. file:///net/u/1/f/fdc/web/st-erkenwald.html
- 2706. file:///net/u/1/f/fdc/web/standards.html
- 2707. file:///net/u/1/f/fdc/web/stats
- 2708. file:///net/u/1/f/fdc/web/stgeorge.gif
- 2709. file:///net/u/1/f/fdc/web/sts.jpg
- 2710. file:///net/u/1/f/fdc/web/studies.html
- 2711. file:///net/u/1/f/fdc/web/superbrain-2011-280.jpg
- 2712. file:///net/u/1/f/fdc/web/superbrain-2011-740.jpg
- 2713. file:///net/u/1/f/fdc/web/superbrain-2011.html
- 2714. file:///net/u/1/f/fdc/web/superbrain-2011.jpg
- 2715. file:///net/u/1/f/fdc/web/superbrain03-280.jpg
- 2716. file:///net/u/1/f/fdc/web/superbrain03-740.jpg
- 2717. file:///net/u/1/f/fdc/web/support.html
- 2718. file:///net/u/1/f/fdc/web/surface.gif
- 2719. file:///net/u/1/f/fdc/web/surface_i.gif
- 2720. file:///net/u/1/f/fdc/web/survey
- 2721. file:///net/u/1/f/fdc/web/t2.html
- 2722. file:///net/u/1/f/fdc/web/tail.html
- 2723. file:///net/u/1/f/fdc/web/tail2.html
- 2724. file:///net/u/1/f/fdc/web/telnet.html
- 2725. file:///net/u/1/f/fdc/web/telnet.html.%7E1%7E
- 2726. file:///net/u/1/f/fdc/web/telnet70.html
- 2727. file:///net/u/1/f/fdc/web/telnet80.html
- 2728. file:///net/u/1/f/fdc/web/telnetd.html
- 2729. file:///net/u/1/f/fdc/web/template.html
- 2730. file:///net/u/1/f/fdc/web/template.html.%7E1%7E
- 2731. file:///net/u/1/f/fdc/web/template.html.%7E2%7E
- 2732. file:///net/u/1/f/fdc/web/template.html.%7E3%7E
- 2733. file:///net/u/1/f/fdc/web/template.html.%7E4%7E
- 2734. file:///net/u/1/f/fdc/web/terminal-strip-100.jpg
- 2735. file:///net/u/1/f/fdc/web/terminal-strip-120.jpg
- 2736. file:///net/u/1/f/fdc/web/terminal-strip-80.jpg
- 2737. file:///net/u/1/f/fdc/web/terminal-strip2-120.jpg
- 2738. file:///net/u/1/f/fdc/web/terminal-strip3-120.jpg
- 2739. file:///net/u/1/f/fdc/web/terminals.html
- 2740. file:///net/u/1/f/fdc/web/terminals.html.%7E1%7E
- 2741. file:///net/u/1/f/fdc/web/terminals.html.%7E2%7E
- 2742. file:///net/u/1/f/fdc/web/terminals.jpg
- 2743. file:///net/u/1/f/fdc/web/terms2.jpg
- 2744. file:///net/u/1/f/fdc/web/terms3.jpg
- 2745. file:///net/u/1/f/fdc/web/termtype.html
- 2746. file:///net/u/1/f/fdc/web/test.gif
- 2747. file:///net/u/1/f/fdc/web/test.html
- 2748. file:///net/u/1/f/fdc/web/test
- 2749. file:///net/u/1/f/fdc/web/test1.jpg
- 2750. file:///net/u/1/f/fdc/web/test2.gif
- 2751. file:///net/u/1/f/fdc/web/test3.gif
- 2752. file:///net/u/1/f/fdc/web/test4.gif
- 2753. file:///net/u/1/f/fdc/web/test5.gif
- 2754. file:///net/u/1/f/fdc/web/test6.gif
- 2755. file:///net/u/1/f/fdc/web/testing.html
- 2756. file:///net/u/1/f/fdc/web/testing
- 2757. file:///net/u/1/f/fdc/web/texmap.gif
- 2758. file:///net/u/1/f/fdc/web/texmap_i.gif
- 2759. file:///net/u/1/f/fdc/web/timeline.html
- 2760. file:///net/u/1/f/fdc/web/timeline.html.%7E1%7E
- 2761. file:///net/u/1/f/fdc/web/tmp
- 2762. file:///net/u/1/f/fdc/web/tmp2
- 2763. file:///net/u/1/f/fdc/web/tmp3
- 2764. file:///net/u/1/f/fdc/web/tmp4
- 2765. file:///net/u/1/f/fdc/web/tmp5
- 2766. file:///net/u/1/f/fdc/web/tmp9
- 2767. file:///net/u/1/f/fdc/web/toys.jpg
- 2768. file:///net/u/1/f/fdc/web/tr.html.%7E1%7E
- 2769. file:///net/u/1/f/fdc/web/train02.jpg
- 2770. file:///net/u/1/f/fdc/web/translations.html
- 2771. file:///net/u/1/f/fdc/web/translations.html-backup
- 2772. file:///net/u/1/f/fdc/web/translations.html.1
- 2773. file:///net/u/1/f/fdc/web/translations.html.2
- 2774. file:///net/u/1/f/fdc/web/translations.html.3
- 2775. file:///net/u/1/f/fdc/web/translations.html.%7E1%7E
- 2776. file:///net/u/1/f/fdc/web/translations.html.%7E2%7E
- 2777. file:///net/u/1/f/fdc/web/translations.html.%7E92%7E
- 2778. file:///net/u/1/f/fdc/web/translations.html.%7E93%7E
- 2779. file:///net/u/1/f/fdc/web/translations.ksc
- 2780. file:///net/u/1/f/fdc/web/translations.ksc.%7E1%7E
- 2781. file:///net/u/1/f/fdc/web/translations.ksc.%7E2%7E
- 2782. file:///net/u/1/f/fdc/web/ts1.jpg
- 2783. file:///net/u/1/f/fdc/web/ts3.jpg
- 2784. file:///net/u/1/f/fdc/web/ts4.jpg
- 2785. file:///net/u/1/f/fdc/web/tsreviews.html
- 2786. file:///net/u/1/f/fdc/web/tt.html.%7E1%7E
- 2787. file:///net/u/1/f/fdc/web/ttype.jpg
- 2788. file:///net/u/1/f/fdc/web/tu_cows.gif
- 2789. file:///net/u/1/f/fdc/web/tu_cows.old.gif
- 2790. file:///net/u/1/f/fdc/web/tucows.gif
- 2791. file:///net/u/1/f/fdc/web/tucowsreview.gif
- 2792. file:///net/u/1/f/fdc/web/tx.html
- 2793. file:///net/u/1/f/fdc/web/uckindex.html
- 2794. file:///net/u/1/f/fdc/web/uckindex.html.1
- 2795. file:///net/u/1/f/fdc/web/uckindex.html.2
- 2796. file:///net/u/1/f/fdc/web/uckindex.html.%7E10%7E
- 2797. file:///net/u/1/f/fdc/web/uckindex.html.%7E11%7E
- 2798. file:///net/u/1/f/fdc/web/uckindex.html.%7E1%7E
- 2799. file:///net/u/1/f/fdc/web/uckindex.html.%7E2%7E
- 2800. file:///net/u/1/f/fdc/web/ucompose.gif
- 2801. file:///net/u/1/f/fdc/web/ucs2.html
- 2802. file:///net/u/1/f/fdc/web/ucsterm.html
- 2803. file:///net/u/1/f/fdc/web/ugui.html
- 2804. file:///net/u/1/f/fdc/web/uiksd.html
- 2805. file:///net/u/1/f/fdc/web/uk-postcodes.txt
- 2806. file:///net/u/1/f/fdc/web/ukcounties.html
- 2807. file:///net/u/1/f/fdc/web/ulinks.html
- 2808. file:///net/u/1/f/fdc/web/ulinks.html.%7E1%7E
- 2809. file:///net/u/1/f/fdc/web/unicode.gif
- 2810. file:///net/u/1/f/fdc/web/unicode.html
- 2811. file:///net/u/1/f/fdc/web/uniform.html
- 2812. file:///net/u/1/f/fdc/web/unigroup
- 2813. file:///net/u/1/f/fdc/web/unix.html
- 2814. file:///net/u/1/f/fdc/web/unix.html.%7E1%7E
- 2815. file:///net/u/1/f/fdc/web/unix.html.%7E2%7E
- 2816. file:///net/u/1/f/fdc/web/url.gif
- 2817. file:///net/u/1/f/fdc/web/url_sm.gif
- 2818. file:///net/u/1/f/fdc/web/usa-construct.gif
- 2819. file:///net/u/1/f/fdc/web/ushield50.gif
- 2820. file:///net/u/1/f/fdc/web/usingckermit.html
- 2821. file:///net/u/1/f/fdc/web/usingckermit.html.%7E10%7E
- 2822. file:///net/u/1/f/fdc/web/usingckermit.html.%7E1%7E
- 2823. file:///net/u/1/f/fdc/web/usingckermit.html.%7E2%7E
- 2824. file:///net/u/1/f/fdc/web/usingckermit.html.%7E9%7E
- 2825. file:///net/u/1/f/fdc/web/usingmackermit-99.jpg
- 2826. file:///net/u/1/f/fdc/web/usingmackermit.jpg
- 2827. file:///net/u/1/f/fdc/web/usingmackermit.pdf
- 2828. file:///net/u/1/f/fdc/web/ussr.gif
- 2829. file:///net/u/1/f/fdc/web/utf8-t0.html
- 2830. file:///net/u/1/f/fdc/web/utf8-t1-hexonly.html
- 2831. file:///net/u/1/f/fdc/web/utf8-t1.html
- 2832. file:///net/u/1/f/fdc/web/utf8-table.html
- 2833. file:///net/u/1/f/fdc/web/utf8.html
- 2834. file:///net/u/1/f/fdc/web/utf8.html.backup
- 2835. file:///net/u/1/f/fdc/web/utf8.html.%7E11%7E
- 2836. file:///net/u/1/f/fdc/web/utf8.html.%7E12%7E
- 2837. file:///net/u/1/f/fdc/web/utf8.html.%7E1%7E
- 2838. file:///net/u/1/f/fdc/web/utf8.html.%7E2%7E
- 2839. file:///net/u/1/f/fdc/web/utf8_unnumbered.html
- 2840. file:///net/u/1/f/fdc/web/utils.html
- 2841. file:///net/u/1/f/fdc/web/uucp.html
- 2842. file:///net/u/1/f/fdc/web/uuu
- 2843. file:///net/u/1/f/fdc/web/uzbek.utf8.txt
- 2844. file:///net/u/1/f/fdc/web/vax_11-750.jpg
- 2845. file:///net/u/1/f/fdc/web/vcheck.gif
- 2846. file:///net/u/1/f/fdc/web/vendor.html
- 2847. file:///net/u/1/f/fdc/web/vinfo.html
- 2848. file:///net/u/1/f/fdc/web/visa.gif
- 2849. file:///net/u/1/f/fdc/web/vm3270.gif
- 2850. file:///net/u/1/f/fdc/web/vm3270sm.gif
- 2851. file:///net/u/1/f/fdc/web/vms_old.html
- 2852. file:///net/u/1/f/fdc/web/vt100-keyboard-700.jpg
- 2853. file:///net/u/1/f/fdc/web/vt100-keyboard.html
- 2854. file:///net/u/1/f/fdc/web/vt100-keyboard.jpg
- 2855. file:///net/u/1/f/fdc/web/vt320-fkeys-300.jpg
- 2856. file:///net/u/1/f/fdc/web/vt320-fkeys-700.jpg
- 2857. file:///net/u/1/f/fdc/web/vt320-fkeys.jpg
- 2858. file:///net/u/1/f/fdc/web/vt320-keyboard-700.jpg
- 2859. file:///net/u/1/f/fdc/web/vt320-keyboard.html
- 2860. file:///net/u/1/f/fdc/web/vt320-keyboard.jpg
- 2861. file:///net/u/1/f/fdc/web/vt320-keypads-300.jpg
- 2862. file:///net/u/1/f/fdc/web/vt320-keypads-700.jpg
- 2863. file:///net/u/1/f/fdc/web/vt320-keypads.jpg
- 2864. file:///net/u/1/f/fdc/web/vt520_02.jpg
- 2865. file:///net/u/1/f/fdc/web/vt520_03.jpg
- 2866. file:///net/u/1/f/fdc/web/vt520_05.jpg
- 2867. file:///net/u/1/f/fdc/web/vtscore.html
- 2868. file:///net/u/1/f/fdc/web/vttest.html
- 2869. file:///net/u/1/f/fdc/web/wavesgallery.jpg
- 2870. file:///net/u/1/f/fdc/web/wbc3-280.jpg
- 2871. file:///net/u/1/f/fdc/web/wbc3.jpg
- 2872. file:///net/u/1/f/fdc/web/weblog.html
- 2873. file:///net/u/1/f/fdc/web/weblog.html.%7E1%7E
- 2874. file:///net/u/1/f/fdc/web/welcome.gif
- 2875. file:///net/u/1/f/fdc/web/whatfor.html
- 2876. file:///net/u/1/f/fdc/web/whatsnew.html
- 2877. file:///net/u/1/f/fdc/web/whatsnew.html.%7E1%7E
- 2878. file:///net/u/1/f/fdc/web/whatsnew.html.%7E2%7E
- 2879. file:///net/u/1/f/fdc/web/whatsnew.html.%7E34%7E
- 2880. file:///net/u/1/f/fdc/web/whatsnew.html.%7E35%7E
- 2881. file:///net/u/1/f/fdc/web/white.gif
- 2882. file:///net/u/1/f/fdc/web/white_sm.gif
- 2883. file:///net/u/1/f/fdc/web/wiksd.html
- 2884. file:///net/u/1/f/fdc/web/wiksdadm.html
- 2885. file:///net/u/1/f/fdc/web/wiksduser.html
- 2886. file:///net/u/1/f/fdc/web/winmodem.html
- 2887. file:///net/u/1/f/fdc/web/winmodems.html
- 2888. file:///net/u/1/f/fdc/web/winsshclients.html
- 2889. file:///net/u/1/f/fdc/web/wpa.jpg
- 2890. file:///net/u/1/f/fdc/web/wpa2-100.jpg
- 2891. file:///net/u/1/f/fdc/web/wpa2.jpg
- 2892. file:///net/u/1/f/fdc/web/wyse_05.jpg
- 2893. file:///net/u/1/f/fdc/web/x.gif
- 2894. file:///net/u/1/f/fdc/web/x.htaccess
- 2895. file:///net/u/1/f/fdc/web/x.html
- 2896. file:///net/u/1/f/fdc/web/x.html.%7E1%7E
- 2897. file:///net/u/1/f/fdc/web/x.%7E1%7E
- 2898. file:///net/u/1/f/fdc/web/x1.gif
- 2899. file:///net/u/1/f/fdc/web/x10.gif
- 2900. file:///net/u/1/f/fdc/web/x11.gif
- 2901. file:///net/u/1/f/fdc/web/x12.gif
- 2902. file:///net/u/1/f/fdc/web/x13.gif
- 2903. file:///net/u/1/f/fdc/web/x14.gif
- 2904. file:///net/u/1/f/fdc/web/x15.gif
- 2905. file:///net/u/1/f/fdc/web/x2.gif
- 2906. file:///net/u/1/f/fdc/web/x20.gif
- 2907. file:///net/u/1/f/fdc/web/x21.gif
- 2908. file:///net/u/1/f/fdc/web/x22.gif
- 2909. file:///net/u/1/f/fdc/web/x23.gif
- 2910. file:///net/u/1/f/fdc/web/x24.gif
- 2911. file:///net/u/1/f/fdc/web/x25.gif
- 2912. file:///net/u/1/f/fdc/web/x3.gif
- 2913. file:///net/u/1/f/fdc/web/x4.gif
- 2914. file:///net/u/1/f/fdc/web/x5.gif
- 2915. file:///net/u/1/f/fdc/web/x6.gif
- 2916. file:///net/u/1/f/fdc/web/x7.gif
- 2917. file:///net/u/1/f/fdc/web/x8.gif
- 2918. file:///net/u/1/f/fdc/web/x9.gif
- 2919. file:///net/u/1/f/fdc/web/xbg
- 2920. file:///net/u/1/f/fdc/web/xbg.%7E1%7E
- 2921. file:///net/u/1/f/fdc/web/xbronx403.jpg
- 2922. file:///net/u/1/f/fdc/web/xbronx408.jpg
- 2923. file:///net/u/1/f/fdc/web/xbronx55.jpg
- 2924. file:///net/u/1/f/fdc/web/xcrown70.gif
- 2925. file:///net/u/1/f/fdc/web/xcrown74-lb.gif
- 2926. file:///net/u/1/f/fdc/web/xcrownico-lb.gif
- 2927. file:///net/u/1/f/fdc/web/xcrownico.gif
- 2928. file:///net/u/1/f/fdc/web/xiksd.html
- 2929. file:///net/u/1/f/fdc/web/xphotoalbum.html
- 2930. file:///net/u/1/f/fdc/web/xsearch.html
- 2931. file:///net/u/1/f/fdc/web/xutf8.html
- 2932. file:///net/u/1/f/fdc/web/xx.html
- 2933. file:///net/u/1/f/fdc/web/xxsearch.html
- 2934. file:///net/u/1/f/fdc/web/xxu
- 2935. file:///net/u/1/f/fdc/web/xxu.c
- 2936. file:///net/u/1/f/fdc/web/xxx.html
- 2937. file:///net/u/1/f/fdc/web/xyzcorp.gif
- 2938. file:///net/u/1/f/fdc/web/y
- 2939. file:///net/u/1/f/fdc/web/y.html
- 2940. file:///net/u/1/f/fdc/web/y1.gif
- 2941. file:///net/u/1/f/fdc/web/y2.gif
- 2942. file:///net/u/1/f/fdc/web/y2.html
- 2943. file:///net/u/1/f/fdc/web/y3.gif
- 2944. file:///net/u/1/f/fdc/web/year2000.html
- 2945. file:///net/u/1/f/fdc/web/yoruba.txt
- 2946. file:///net/u/1/f/fdc/web/yyy
- C-KERMIT 9.0 CHANGE LOG
- [[1]Go to bottom]
- C-KERMIT 9.0 CHANGE LOG
- Changes since 8.0.207 / K95 2.1.3 January 2003
- In chronological order.
- Go to the bottom to find the newest edits.
- Frank da Cruz, The Kermit Project, New York City.
- Last update: 24 July 2020
- These are the changes to C-Kermit since Kermit 95 was last released as
- version 2.1.3 on January 1, 2003, and therefore also the changes that
- would appear in any new release of Kermit 95.
- .................................
- :BEGIN: FTP USER, FTP ACCOUNT, plus the various prompts and switches
- for FTP username, password, and account all neglected to strip quotes,
- and in most cases quotes are necessary to specify a username that
- contains spaces. ckcftp.c, 15 Jan 2003. ===
- FTP MPUT f1 f2 f3... gets a parse error if any of the fn's do not match
- an existing file. This is bad for scripts. In doftpput(), cmfdb() looks
- for keywords (switches) or CMIFI. When it hits CMIFI, it exits from the
- initial parse loop and then does additional cmifi()s in a loop until
- done. The most obvious fix is to parse each field with
- cmfdb(CMIFI,CMFLD), i.e. fall back to CMFLD if CMIFI doesn't match
- anything. Then if CMFLD was used, we don't add the filespec to the
- list. This is a rather big change but it seems to work. No error
- messages or failures happen for non-matching fields, but an error
- message is printed (and the MPUT command fails) if none of the fields
- match any files. This fix got in too late for 2.1.3; workaround: use
- C-Shell like wildcard list (ftp mput "{*.abc,foo.*}"). ckcftp.c, 16 Jan
- 2003. ===
- GREP did not pass its pattern through the expander, thus variables
- could not be used for patterns. This must have been an oversight -- I
- can't find anything in my notes about it. Fixed in dogrep(): ckuus6.c,
- 24 Jan 2003. ===
- New makefile target for HP-UX 11.xx with OpenSSL from Tapani Tarvainen.
- makefile, 31 Jan 2003. ===
- From Jeff:
- . Avoid core dump when dereferencing tnc_get_signature(): ckuus4.c.
- . Bump version numbers to 8.0.208, 2.1.4: ckcmai.c.
- Added /NOLOGIN to FTP [OPEN]. ckcftp.c, 10 Feb 2003. ===
- Don't dump core if FTP DEBUG is ON and FTP OPEN does not include a
- service. openftp(): ckcftp.c, 10 Feb 2003. ===
- HELP PATTERN text incorrectly identified commands and functions with
- floating and anchored patterns. The corrected lists are: Floating:
- GREP, TYPE /MATCH:, /EXCEPT: patterns, \farraylook(), Anchored: IF
- MATCH, file-matching wildcards, \fsearch(), \frsearch() ckuus2.c, 10
- Feb 2003. ===
- INPUT n \fpattern(xxx) did not work for case-independent comparisons.
- Fixed in doinput(): ckuus4.c, 10 Feb 2003. ===
- It seems \fpattern() didn't work with MINPUT at all. There was no code
- to handle \fpattern() in the MINPUT parse loop, so it never worked. The
- code had to be totally rewritten to use cmfld() in a loop, rather than
- cmtxt() and then cksplit(). Furthermore, whenever any of the fields was
- an \fjoin(), this had to be split. ckuusr.c, 10 Feb 2003. ===
- Macro replacement via \m() and \fdefinition() does not work as
- advertised (i.e. case sensitively) for associative array elements; e.g.
- \m(xxx<abc>) is treated the same as \m(xxx<ABC>), contrary to section
- 7.10.10 of the C-Kermit 7.0 update notes, and to the fact that the two
- really do exist separately. Fixed by adding a static function
- isaarray(s) which succeeds if s is an associative array reference and
- fails otherwise, and then having \m() and \fdef() call mxxlook()
- (case-sensitive lookup) if isaarray(), otherwise (as before) mxlook()).
- ckuus4.c, 11 Feb 2003. ===
- Fixed FTP OPEN to allow the /USER switch to override SET FTP AUTOLOGIN
- OFF, just as /NOLOGIN overrides SET FTP AUTOLOGIN ON. ckcftp.c, 11 Feb
- 2003. ===
- In K95, "set key \1234 \27H" (any SET KEY command in which the first
- char of the definition was backslash, and the ONLY character after the
- backslash quantity was an uppercase letter, that letter would be
- lowercased). Diagnosis: xlookup() poking its argument (see notes from
- July 2000). Jeff sent a fix. ckucmd.c, 15 Feb 2003. ===
- Ran my S-Expression torture test to make sure Sexps still worked. They
- do, except the bitwise & and | operators were broken, e.g. (& 7 2) and
- (| 1 2 4) get "Invalid operand" errors. Jeff's code had added an early
- failure return from the lookup loop when when a single-byte keyword
- matched a keyword that started with the same byte but was more than one
- byte long. So "&" would hit "&&" and fail instead of continuing its
- search (xlookup tables aren't sorted so there can be no early return).
- Fixed in xlookup(): ckucmd.c, 16 Feb 2003. ===
- Got rid of "krbmit" target from makefile. It's still there, but we
- don't use it any more. All secure targets now use "xermit", and produce
- a binary called wermit, just like the regular ones do (except the old
- ckucon.c ones). Non-secure targets, since they don't define any of the
- security symbols, wind up compiling and linking to (mostly) empty
- security modules. makefile, 15 Feb 2003. ===
- Added \fcvtdate(xxx,3) to format its result in MDTM format
- (yyyymmddhhmmss, all numeric, no spaces or punctuation). Of course
- these numeric strings are too big to be 32-bit numbers and are useless
- for arithmetic, but they're useful for lexical comparison, etc.
- ckuus[24].c, 16 Feb 2003. ===
- The following FTP commands did not set FAILURE when they failed: RMDIR,
- CD, CDUP, Fixed in the corresponding doftpblah() routines. ckcftp.c, 16
- Feb 2003. ===
- RENAME would sometimes not print an error message when it failed, e.g.
- in K95 when the destination file already existed. ckuus6.c, 17 Feb
- 2003. ===
- Fixed COPY error messages, which did not come out in standard format
- when /LIST was not included. ckuus6.c, 17 Feb 2003. ===
- Fixed #ifdefs in ck_crp.c to allow nonsecure builds on old platforms
- like System V/68 R3. 19 Feb 2003. ===
- Similar treatment for ck_ssl.c. 20 Feb 2003. ===
- From Jeff, 21 Feb 2003:
- . AIX53 and AIX52 symbols for ckcdeb.h, makefile.
- . New gcc targets for various AIX 4.x/5.x versions: makefile.
- . Copyright date updates: ck_crp.c, ck_ssl.c.
- . ENABLE/DISABLE QUERY broken because keyword table out of order: ckuusr.c.
- . Fixed the use of HTTP proxies for HTTP [RE]OPEN for Unix: ckcnet.c.
- Also for K95 only: Allow file transfer when K95 is invoked on the
- remote end of a connection to a Pragma Systems Terminal Server
- connection; automatically SET EXIT HANGUP OFF when invoked with open
- port handle ("k95 -l nnnn").
- "cd a*" failed even when "a*" matched only one directory. Fixed in
- cmifi(): ckucmd.c, 21 Feb 2003. ===
- In the Unix version, replace "extern int errno;" with "#include
- <errno.h>" if __GLIBC__ is defined, since glibc now defines a
- thread-specific errno. ckcdeb.h, 26 Feb 2003. ===
- Added #ifdefs to skip compilation of ckuath.c in nonsecure builds.
- Tested by building both secure and regular versions in Linux. ckuath.c,
- 26 Feb 2003. ===
- Ran the build-in-84-different-configurations script on Linux to make
- sure it still builds with all different combinations of feature
- selection options. All OK. 26 Feb 2003. ===
- Built on VMS. Needed to add a prototype for mxxlook*() to ckuusr.h;
- built OK otherwise. 26 Feb 2003. ===
- From Jeff: More #ifdef shuffling for nonsecure builds: ckuath.c,
- ck_ssl.c, 27 Feb 2003. ===
- Added code to ensure \v(download) ends in a directory separator in
- Unix, Windows, and OS/2. ckuus7.c, 27 Feb 2003. ===
- Added code to K95 zfnqfp() to tack on directory separator when
- returning a directory name. ckofio.c, 27 Feb 2003. ===
- Somehow an old copy of ckuath.c popped to replace the new one. Put the
- new one back. 28 Feb 2003. ===
- From Jeff: Fix typo in my K95 zfnqfp() code from yesterday; fixes for
- handling UNCs uniformly, no matter which way their slashes are leaning.
- ckofio.c, 28 Feb 2003. ===
- At Jeff Mezei's suggestion, separate text and binary mode open
- sequences for VMS session log. ckvfio.c, 28 Feb 2003. ===
- Added freebsd48 target for FreeBSD 4.8. makefile, 1 Mar 2003. ===
- Changed Mac OS X entries to include -DUSE_STRERROR. makefile, 2 Mar
- 2003. ===
- Fixed GETOK /GUI to evaluate its text argument. ckuus6.c, 3 Mar 2003.
- ===
- Jeff fixed the K95 Dialer QUICK dialog to (a) allow templates, and (b)
- have a Save-As option. 3 Mar 2003. ===
- Jeff fixed a problem with the Xmodem-CRC checksum being crunched
- whenever there was a retransmission. 7 Mar 2003. ===
- Added target/banner for Tru64 5.1B. makefile, ckuver.h, 5 Mar 2003. ===
- In Unix, the zcopy() routine (used by the COPY command) reset the
- user's umask to 0 for the remainder of the Kermit process lifetime. The
- bug was in ckufio.c 8.0.194, 24 Oct 2002, and is fixed in ckufio.c
- 8.0.195, 6 Mar 2003. Of course this happened after building 155
- C-Kermit 8.0.208 binaries. (But before officially releasing 8.0.208.)
- ===
- In the VMS version, changed:
- while ((n--) && xx_inc(2) > -1) ;
- to:
- while ((n--) && xx_inc(2) >= 0) ;
- to suppress the "...is being compared with a relational operator to a
- constant whose value is not greater than zero" warning. ckvtio.c, 7 Mar
- 2002. ===
- Added a debug call to dologend in hopes of catching overzealous Locus
- switching, which seems to happen only in K95. ckuus3.c, 7 Mar 2002. ===
- Rebuilt binaries for some of the more current Unix releases: AIX
- 4.3.3-5.1, Solaris 7-9 , Red Hat 7.0-8.0, Slackware 8.1, Freebsd
- 4.7-4.8, NetBSD 1.6, OpenBSD 3.2, Unixware 7.1.3, Open Unix 8,
- OSR5.0.6a, etc. A Unix binary with COPY umask fix shows a 6 Mar 2003
- date for "UNIX File support" in SHOW VERSIONS; a binary without the fix
- shows 24 Oct 2002. ===
- C-Kermit 8.0.208 dated 14 March 2003 released on 10 March 2003. ===
- ---8.0.208--- ===
- From Jeff 13 Mar 2003:
- . Updated SSL module allows importation of tickets from host.
- . freebsd50+openssl target: makefile.
- . FTP PUT /PERMISSIONS error message for K95: ckcftp.c.
- ===
- Fixed MINPUT to strip quotes or braces from around targets (this was
- broken on Feb 10th). Thanks to Jason Heskett for discovering and
- reporting this (killer) bug. ckuusr.c, 14 Mar 2003. ===
- Changed version number to 209 Dev.00. ckcmai.c, 14 Mar 2003. ===
- While debugging the alphapage script, I found that the command "minput
- 8 \6\13 \21\13 \13\27\4\13 \30\13" gets "?Not confirmed" in 8.0.208 and
- 8.0.209, but not in 206 and earlier. This problem too was introduced on
- Feb 10th by changing MINPUT parsing from cmtxt() followed by cksplit()
- to cmfld() in a loop. cmfld() uses setatm() to return its result and of
- course setatm() breaks on \13. Changing setatm() not to do this would
- break everything else. But cmfld() has no arguments that let us tell it
- to do anything different in this case. Changing the API would be a
- disaster. The only solution is to add an "MINPUT ACTIVE" (minputactive)
- global variable that tells cmfld() to tell setatm() not to break on CR.
- Now MINPUT with braced targets containing CR and/or LF works in 209,
- 206, and 201 (but not 208). ckucmd.c, ckuusr.c, ckuus5.c, 15 Mar 2003.
- ===
- MINPUT n \fjoin(&a) works OK if all the members of \&a[] are text
- strings, but if they are strings of control chars (as above), they
- don't get separated by the spaces. For example in:
- dcl \&a[] = "\4\5" "\6\7" xxx
- minput 10 \fjoin(&a)
- MINPUT gets two targets: "aaa" and "\4\5 \6\7 xxx". The bug was in the
- cksplit() call in the \fjoin() case of MINPUT: it needed to specify an
- include set consisting of all the control characters except NUL.
- ckuusr.c, 16 Mar 2003. ===
- But there's still a problem:
- dcl \&a[] = "\4\5\13\10" "\6\7" "xxx"
- creates an array whose first member is "^D^E (one doublequote
- included). But if braces are used instead, there's no problem. Same
- deal as MINPUT: cmfld() breaks on CR or LF, thus the end quote is lost.
- If I set minputactive for DECLARE initializers too, that fixes it. Is
- there any reason not to do this? Can't think of any (famous last
- words)... ckuusr.c, 16 Mar 2003. ===
- Since it has multiple applications, changed the flag's name from
- minputactive to keepallchars. ckucmd.c, ckuus[r5].c, 16 Mar 2003. ===
- \v(exedir) wasn't being set correctly (it included the program name as
- well as the directory). Fixed in getexedir(): ckuus4.c, 16 Mar 2003.
- ===
- SET CARRIER-WATCH <Esc> "auto matic" (spurious space in supplied
- keyword). Cosmetic only; it still worked. Fixed in setdcd(): ckuus3.c,
- 16 Mar 2003.
- "directory a b c" listed too many files -- all files whose names END
- WITH a, b, or c, rather than the files whose names WERE a, b, or c.
- Diagnosis: The filespec is changed into a pattern: {a,b,c}, which is
- the correct form. It is passed to nzxpand(), which goes through the
- directory getting filenames and sending each one to ckmatch() with the
- given pattern. ckmatch() receives the correct pattern but then prepends
- a "*" -- that's not right. It's not just in filename matching either.
- The following succeeds when it shouldn't:
- if match xxxxc {{a,b,c}} <command>
- Changing ckmatch() to not prepend the "*" to each segment fixes the
- command above but breaks lots of others. Running through the "match"
- torture-test script shows the problem occurs only when the {a,b,c} list
- is the entire pattern, and not embedded within a larger pattern.
- Testing for this case fixed the problem. ckmatch(): ckclib.c, 16 Mar
- 2003. ===
- Fixed FTP MODTIME to not print anything if QUIET ON. ckcftp.c, 16 Mar
- 2003. ===
- Picked up a new ckuath.c from Jeff, not sure what the changes are. 16
- Mar 2003.
- Did a few regular and secure builds to make sure I didn't wreck
- anything. Changed version number to 209 (final). ckcmai.c, 16 Mar 2003.
- ===
- Jason Heskett found another bug: if you define a macro FOO inside the
- definition of another macro BAR, and FOO's definition includes an odd
- number of doublequotes (such as 1), FOO's definition absorbs the rest
- of BAR's definition. Example:
- def TEST {
- .foo = {X"}
- sho mac foo
- }
- do test
- sho mac foo
- Results in:
- foo = {X"}, sho mac foo
- Diagnosis: the TEST definition becomes:
- def TEST .foo = {X"}, sho mac foo
- and the macro reader is erroneously treating the doublequote as an open
- quote, and then automatically closes the quote at the end of the
- definition. The error is that a doublequote should be significant only
- at the beginning of a field. But the macro reader isn't a command
- parser; it doesn't know what a field is -- it's just looking for commas
- and skipping over quoted ones. First we have to fix an oversight: SET
- COMMAND DOUBLEQUOTING OFF should have worked here, but it wasn't tested
- in this case. Fixed in getncm(): ckuus5.c, 17 Mar 2003. ===
- There are only certain cases where it makes sense to treat doublequotes
- as significant:
- . An open quote must be at the beginning or preceded by a space.
- . A close quote is only at the end or else followed by a space.
- This too was fixed in getncm(): ckuus5.c, 17 Mar 2003. ===
- A fix from Jeff SSL/TLS FTP data decoding. ckcftp.c, 18 Mar 2003. ===
- Tried building C-Kermit on a Cray Y-MP with UNICOS 9.0. "int suspend",
- declared in ckcmai.c and used in many modules, conflicts with:
- unistd.h:extern int suspend __((int _Category, int _Id));
- The "=Dsuspend=xsuspend" trick doesn't work for this; there is no way
- around the conflict other than to rename the variable: ckcmai.c,
- ckutio.c, ckuus[35xy].c. 26 Mar 2003. VMS and K95 not affected. ===
- OK that gets us past ckcmai.c... Then in ckutio.c I had to add a new
- #ifdef around the LFDEVNO setting, because the Cray didn't have
- mkdev.h. Could not find a Cray-specific manifest symbol, so I made a
- new makefile target (cray9) that sets this symbol. Having done this I
- have no idea what kind of lockfile would be created, but I also doubt
- if anybody dials out from a Cray. The binary should run a C90, J90, or
- Y-MP. makefile, 26 Mar 2003. ===
- Added a target for SCO OSR5.0.7. makefile, ckuver.h, 30 Mar 2003. ===
- Changed since 208: makefile ckuver.h ckcmai.c ckclib.c ckcftp.c
- ckucmd.c ckuus*.c ckutio.c. ===
- ---8.0.209--- ===
- From Mark Sapiro, a fix for the March 17th doublequote fix, getncm():
- ckuus5.c, 4 Apr 2003. ===
- From Jeff, 29 Apr 2003:
- . Corrected target for HP-UX 11.00 + OpenSSL: makefile,
- . Do not allow WILL AUTH before WONT START_TLS: ckctel.h ckctel.c
- . Add hooks for SFTP and SET/SHOW SFTP: ckcdeb.h ckuusr.h ckuusr.c ckuus3.c
- . Add SKERMIT ckuusr.h ckuusr.c
- . Add ADM-5 terminal emulation: ckuus7.c, ckuus5.c
- . Uncomment and update HELP SET SSH V2 AUTO-REKEY: ckuus2.c
- . Enable IF TERMINAL-MACRO and IF STARTED-FROM-DIALER for C-Kermit: ckuus6.c
- . Fix conflicting NOSCROLL keyword definition: ckuusr.h
- . Set ttname when I_AM_SSH: ckuusy.c
- . Add extended arg parsing for SSH, Rlogin, Telnet: ckuusy.c, ckuus4.c
- . Security updates: ckuath.c, ck_ssl.c
- . Change K95 version number to 2.2.0: ckcmai.c
- . Save K95 term i/o state before executing keyboard macro: ckuus4.c
- . Add tests for SSH Subsystem active during INPUT/OUTPUT/CONNECT: ckuus[45].c
- . Enable K95 SET SSH V2 AUTO-REKEY: ckuus3.c
- SFTP and SET SFTP subcommands are implemented up to the case
- statements.
- Files of mine that Jeff hadn't picked up:
- ckuver.h ckcftp.c ckutio.c ckuusx.c (just minor changes for last build-all)
- On 4 Jan 2003, SET RECEIVE MOVE-TO was changed to convert its argument
- to an absolute path, which made it impossible to specify a relative
- path, then move to different directories and have it apply relatively
- to each directory. Changed this as follows:
- . Parser uses cmtxt() rather than cmdir() so it won't fail at parse time.
- . If path is absolute, we fail at parse time if directory doesn't exist.
- . In reof() we run the the path through xxstring (again, in case deferred
- evaluation of variables is desired) and then, if not null, use it.
- . If the directory doesn't exist, rename() fails and reof() returns -4,
- resulting in a protocol error (this is not a change). We do NOT create
- the directory on the fly.
- I also fixed SET SEND/RECEIVE RENAME-TO to parse with cmtxt() rather
- than cmdir(), since it's parsing a text template, not a directory name,
- e.g. "set receive rename-to file-\v(time)-v(date)-\v(pid)". This was
- totally broken, since when I don't know. We don't call xxstring() in
- this parse, so evaluation is always deferred -- I'd better not change
- this. ckuus7.c, ckcfns.c, 1 May 2003. ===
- From Jeff, Sat May 3 14:15:23 2003:
- . Pick up the right isascii definition for K95: ckctel.c
- . malloc... ckuath.c (new safe malloc routines for K95)
- . Add author listing: ckuus5.c
- . SSH Heartbeat support (K95 only): ckuus[23].c
- . Prescan --height and --width to avoid window resizing at startup: ckuusy.c
- . Add checks for fatal() or doexit() called from sysinit(): ckuusx.c
- . Move some K95-specific definitions to ckoker.h: ckcdeb.h
- . Add support for ON_CD macro in zchdir(): ckufio.c
- . Add a command to let FTP client authenticate with SSLv2: ckcftp.c
- . Fix parsing of FTP file facts like "UNIX.mode": ckcftp.c
- ON_CD will need some explaining (to be done). It's implemented for
- Unix, VMS, WIndows, and OS/2.
- The FTP file facts fix came from first exposure to the new OpenBSD FTP
- server: [2]ftp://ftp7.usa.openbsd.org/pub/os/OpenBSD/3.3/i386/ The
- period in "UNIX.mode" caused an erroneous word break, adding junk to
- the filename.
- About the malloc changes, Jeff says "K95 is not behaving well in low
- memory environments. I'm not sure that C-Kermit does much better. The
- program does not crash but it certainly does not behave the way the
- user expects it to. I'm beginning to think that any malloc() error
- should be treated as fatal."
- Not visible in these changes because it's in K95-specific modules: Jeff
- made SET ATTRIBUTES OFF and SET ATTRIBUTES DATE OFF apply to XYZMODEM
- transfers. ===
- From Jeff, 11 May 2003:
- . Add support for SSH Keepalive to relevant SET command (K95): ckuus3.c
- . Reduce max overlapped i/o requests from 30 to 7 (K95): ckuus7.c
- . Don't call sysinit() in fatal(): ckuusx.c.
- . Some new conditionalizations for SSL module: ck_ssl.c
- ===
- The doublequote-parsing fixes from March and April broke the SWITCH
- statement, which is implemented by internally defining, then executing,
- a macro. If I drop back to the old dumb handling of doublequotes,
- everything is fixed except the problem of March 17th. But can we really
- expect getncm() to pre-guess what the parser is going to do? getncm()'s
- only job is to find command boundaries, which are represented by
- commas. Commas, however, is needed IN commands too. We take a comma
- literally if it is quoted with \, or is inside a matched pair of
- braces, parens, or doublequotes. It is not unreasonable to require a
- doublequote in a macro definition to be prefixed by \ when it is to be
- taken literally. The proper response to Jason Heskett's complaint of
- March 17th should have been to leave the code alone and recommand an
- appropriate form of quoting:
- def TEST {
- .foo = {X\"}
- sho mac foo
- }
- And this is what I have done. Another reason for sticking with the old
- method is that it's explainable. The "improved" method, even if it
- worked, would be be impossible to explain. Btw, in testing this I
- noticed that the switch-test script made 8.0.201 dump core. Today's
- version is fine. The problem with quoted strings inside of IF {...}
- clauses and FOR and WHILE loops is fixed too. Perhaps "unbroken" would
- be a better word. ckuus5.c, 11 May 2003. ===
- Vace discovered that FTP MGET /EXCEPT:{... (with an unterminated
- /EXCEPT list) could crash Kermit. Fixed in ckcftp.c, 11 May 2003. ===
- CONTINUE should not affect SUCCESS/FAILURE status. ckuusr.c, 11 May
- 2003. ===
- Fixed an oversight that goes back 15 years. While \{123} is allowed for
- decimal codes, \x{12} and \o{123} were never handled. ckucmd.c, 11 May
- 2003. ===
- Added support for Red Hat <baudboy.h> and /usr/sbin/lockdev. Supposedly
- this allows Kermit to be installed without setuid or setgid bits and
- still be able to lock and use the serial device. Compiles and starts,
- but not tested. ckcdeb.h, makefile, ckutio.c, ckuus5.c, 16 May 2003.
- ===
- From Jeff: FTP ASCII send data to host when FTP /SSL was in use was
- broken. ftp_dpl is set to Clear when FTP /SSL is in use. This was
- causing the data to be written to the socket with send() instead of the
- OpenSSL routines. ckcftp.c, ckuath.c, 21 May 2003. ===
- From Jeff: Stuff for Kerberos 524: ckcdeb.h. Fixes for FTP; "FTP ASCII
- send data did not properly compute the end of line translations. On
- Unix (and similar platforms) the end of line was correct for no
- character sets but incorrect when character sets were specified. On
- Windows/OS2, the end of line was correct when character sets were
- specified and incorrect when they were not. On MAC, both were broken.
- Also, FTP Send Byte counts were incorrect when character sets were
- specified." ckcftp.c. 17 Jun 2003. ===
- From Jeff: fixes to HTTP /AGENT: and /USER: switch action: ckcnet.c
- ckuus3.c ck_crp.c ckcftp.c ckuus2.c ckuusy.c ckuusr.c ckcnet.h, 21 Jun
- 2003. ===
- From Jeff: Fix SET DIALER BACKSPACE so it can override a previous SET
- KEY (e.g. from INI file): ckuus7.c. Some SSL/TLS updates: ck_ssl.c.
- HTTP support for VMS and other VMS improvements (e.g. a way to not have
- to hardwire the C-Kermit version number into the build script) from
- Martin Vorlaender: ckcnet.h, ckuus[r3].c, ckcdeb.h, ckvtio.c, ckcnet.c,
- ckvker.com. Built on Solaris (gcc/ansi) and SunOS (cc/k&r). The new VMS
- script tests the VMS version and includes HTTP support only for VMS 6.2
- or later. 2 Jul 2003. ===
- Tried to build on our last VMS system but it seems to be dead. Looks
- like a head crash (makes really loud noises, boot says DKA0 not
- recognized) (fooey, I just paid good money to renew the VMS license).
- Tried building at another site with:
- Process Software MultiNet V4.3 Rev A-X,
- Compaq AlphaServer ES40, OpenVMS AXP V7.3
- Compaq C V6.4-008 on OpenVMS Alpha V7.3
- Had to make a few corrections to ckvker.com. But still, compilation of
- ckcnet.c bombs, indicating that the SELECT definition somehow got lost
- somewhere since the 209 release (i.e. no SELECT type is defined so it
- falls thru to "SELECT is required for this code"). But I don't see
- anything in ckcdeb.h or ckcnet.[ch] that would explain this. Not
- ckvker.com either (putting the old one back gives the same result). OK,
- I give up, maybe it's just that I haven't tried building it on MultiNet
- recently. What about UCX? Aha, builds fine there except for warnings
- about mlook, dodo, and parser in ckvfio.c (because of ON_CD) -- I
- suppose I have #include <ckucmd.h>... (done) Anyhow it builds OK and
- the HTTP code is active and almost works (HTTP OPEN works; HTTP GET
- seems to succeed but creates an empty file every time). Tried building
- under MultiNet at another installation; same bad result.
- OK so why won't it build for MultiNet? Comparing ckcnet.c with the 209
- version, not a single #ifdef or #include is changed. Tried building
- with p3="NOHTTP" -- builds OK, aha. Where's the problem? Not
- ckcnet.h... Not ckcdeb.h... OK I give up, will revisit this next time I
- get time to do anything with the code.
- Later Jeff said "Martin did not implement VMS networking for the HTTP
- code. All he did was activate the #define HTTP which happens to work
- because his connections are using SSL/TLS connections. http_inc(),
- http_tol(), etc have no support for VMS networking regardless of
- whether it is UCX or MULTINET. The vast majority of HTTP connections
- are not secured by SSL/TLS. It makes no sense to support HTTP on VMS
- until someone is willing to either do the work or pay have the work
- done to implement VMS networking in that code base." So the fix is to
- not enable HTTP for VMS after all. Removed the CKHTTP definition for
- VMS from ckcdeb.h, 6 Jul 2003. ===
- Fixed ckvfio.c to #include <ckuusr.h> (instead of <ckucmd.h>) to pick
- up missing prototypes. 6 Jul 2003. ===
- From Arthur Marsh: solaris2xg+openssl+zlib+srp+pam+shadow and the
- corresponding Solaris 7 target. makefile, 6 Jul 2003. ===
- Remove duplicate #includes for <sys/stat.h>, <errno.h>, and <ctype.h>
- from ckcftp.c. 6 Jul 2003. ===
- Add -DUSE_MEMCPY to Motorola SV/68 targets because of shuffled
- #includes in ckcftp.c. 8 Jul 2003. ===
- From Jeff: Fix problems mixing SSL and SRP without Kerberos. Plus a few
- minor #define comment changes and a reshuffling of #defines in ckcdeb.h
- to allow me to build on X86 Windows without Kerberos. ckcdeb.h,
- ck_crp.c, ckuath.c, 10 Jul 2003. ===
- From Jeff: updated ckuat2.h and ckuath.c, 29 Jul 2003. ===
- Mats Peterson noticed that a very small Latin-1 file would be
- incorrectly identified as UCS-2 by scanfile(). Fixed in ckuusx.c, 29
- Jul 2003. ===
- Fixed ACCESS macro definition to account for the fact that FIND is now
- a built-in command. ckermit.ini, 30 Jul 2003. ===
- From Jeff: Fix for typo in urlparse() (svc/hos): ckuusy.c, 18 Aug 2003.
- From Jeff: Redhat9 makefile targets (needed for for OpenSSL 0.9.7):
- makefile, 19 Aug 2003. ===
- GREP /NOLIST and /COUNT did too much magic, with some undesirable
- fallout: "GREP /NOLIST /COUNT:x args" printed "file:count" for each
- file. "GREP /COUNT:x /NOLIST args" did not print "file:count", but
- neither did it set the count variable. Removed the magic. Also one of
- the GREP switches, /LINENUMBERS, was out of order. Fixed in ckuus6.c,
- 20 Aug 2003. ===
- From Jeff: "Reorganizing code to enable building with different subsets
- of options; a few typos corrected as well." ckcdeb.h, ckuver.h (for
- RH9), ckcnet.c, ckuus7.c, ckuus3.c: 24 Aug 2003. ===
- Scanfile misidentified a big PDF file as text because the first 800K of
- it *was* text (most other PDF files were correctly tagged as binary).
- Fixed by adding a check for the PDF signature at the beginning of the
- file. scanfile(): ckuusx.c, 25 Aug 2003. ===
- Ditto for PostScript files, but conservatively. Signature at beginning
- of file must begin with "%!PS-Ado". If it's just "%!" (or something
- nonstandard like "%%Creator: Windows PSCRIPT") we do a regular scan.
- Also added "*.ps" to all binary filename patterns. ckuusx.c, 4 Sep
- 2003. ===
- Ditto (but within #ifndef NOPCLSCAN) for PCL (<ESC>E) and PJL (<ESC>%)
- files, but no binpatterns (note: ".PCL" is the extension for TOPS-20
- EXEC scripts). ckuusx.c, 4 Sep 2003. ===
- Added comments about OpenSSL 0.9.7 to all linux+openssl targets.
- makefile, 4 Sep 2003. ===
- From Jeff: Added - #define ALLOW_KRB_3DES_ENCRYPT. When this symbol is
- defined at compilation Kermit will allow non-DES session keys to be
- used during Telnet Auth. These session keys can then be used for Telnet
- Encrypt. The reason this is not compiled on by default is that the MIT
- Kerberos Telnet does not follow the RFC for constructing keys for
- ENCRYPT DES when the keys are longer than 8 bytes in length. ckuath.c,
- ckuus5.c, 4 Sep 2003. ===
- "ftp mget a b c" succeeded if one or more of the files did not exist,
- even with "set ftp error-action proceed". This is because the server's
- NLST file list does not include any files that don't exist, so the
- client never even tries to get them. Fortunately, the way the code is
- structured, this one was easy to fix. ckcftp.c, 14 Sep 2003. ===
- From Jeff: Corrected code in ckcnet.c to ensure that Reverse DNS
- Lookups are not performed if tcp_rdns is OFF. Fixed ck_krb5_getrealm()
- to actually return the realm of the credentials cache and not the
- default realm specified in the krb5.conf file. Previously
- krb5_cc_get_principal() was not being called. Fixed
- ck_krb5_is_tgt_valid() to test the TGT in the current ccache and not
- the TGT constructed from the default realm. ckcnet.c, ckuath.c, 14 Sep
- 2003. ===
- Marco Bernardi noticed that IF DIRECTORY could produce a false positive
- if the argument directory had previously been referenced but then
- removed. This is because of the clever isdir() cache that was added to
- speed up recursion through big directory trees. Changed IF DIRECTORY to
- make a second check (definitive but more expensive) if isdir()
- succeeds, and changed the directory-deleting routine, ckmkdir(), to
- flush the directory cache (UNIX only -- this also should be done in K95
- but it's not critical). This was done by adding a routine,
- clrdircache() to ckufio.c, which sets prevstat to -1 and prevpath[0] to
- NUL. ckcfn3.c, ckuus6.c, ckufio.c, 18 Sep 2003.
- Marco reported the second fix still didn't work for him (even though it
- did for me). Rather than try to figure out why, I concluded that the
- directory cache is just not safe: a directory found a second ago might
- have been deleted or renamed not only by Kermit but by some other
- process. Why did I add this in the first place? The log says:
- Some debug logs showed that isdir() is often called twice in a row on the
- same file. Rather than try to sort out clients, I added a 1-element cache
- to Unix isdir(). ckufio.c, 24 Apr 2000.
- Experimentation with DIR and DIR /RECURSIVE does not show this
- happening at all. So I #ifdef'd out the directory cache (see #ifdef
- ISDIRCACHE in ckufio.c; ISDIRCACHE is not defined) and backed off the
- previous changes: ckufio.c, ckcfn3.c, ckuus6.c, 28 Sep 2003. ===
- From Jeff: Replace the compile time ALLOW_KRB_3DES_ENCRYPT with a
- run-time command SET TELNET BUG AUTH-KRB5-DES which defaults to ON:
- ckctel.[ch], ckuus[234].c, ck_crp.c, ckuath.c. 4 Oct 2003. ===
- Allow DIAL RETRIES to be any positive number, and catch negative ones.
- Also added code to check for atoi() errors (e.g. truncation). At least
- on some platforms (e.g. Solaris) atoi() is supposed to set errno, but
- it doesn't. ckuus3.c, ckucmd.c, 4 Oct 2003. ===
- Added /DEFAULT: to ASK-class commands (ASK, ASKQ, GETOK):
- . For popups: no way to send defaults to popup_readtext() or popup_readpass().
- . For GUI ASK[Q], pass default to gui_txt_dialog().
- . For GUI GETOK, convert "yes" "ok" or "no" default to number for uq_ok().
- . For Text GETOK, add default to cmkey().
- . For Text ASK[Q], add default to cmtxt().
- . For GETC, GETKEY, and READ: no changes.
- GETOK, ASK, and ASKQ with /TIMEOUT: no longer fail when the timer goes
- off if a /DEFAULT was supplied. The GUI functions (uq_blah) don't seem
- to support timeouts. Only the text version has been tested.
- ckuus[26].c, 4 Oct 2003. ===
- From Jeff: add /DEFAULT: for popups. ckuus6.c. 6 Oct 2003. ===
- Change SET DIAL INTERVAL to be like SET DIAL RETRIES. ckuus[34].c, 6
- Oct 2003. ===
- Added target for HP-UX 10/11 + OpenSSL built with gcc, from Chris
- Cheney. Makefile, 12 Oct 2003. ===
- From Jeff, 6 Nov 2003:
- . #ifdef adjustments: ckcftp.c, ckcdeb.h
- . Fix spurious consumption of first byte(s) on Telnet connection: ckctel.c
- . Another HP PJL test for scanfile: ckuusx.c.
- . K95: Recognize DG4xx protected fields in DG2xx emulation: ckuus7.c.
- . Add SSLeay version display to SHOW AUTH command: ckuus7.c
- . Improved SET MOUSE CLEAR help text: ckuus2.c.
- . Improved Kverbs help text: ckuus2.c (+ new IBM-3151 Kverbs).
- . Some changes to ck_ssl.c, ckuath.c.
- ===
- From PeterE, 10 Nov 2003:
- . Improved HP-UX 10/11 makefile targets for OpenSSL.
- . #ifdef fix for OpenSSL on HP-UX: ck_ssl.c.
- ===
- Another new makefile from PeterE with improved and integrated HP-UX
- targets. 12 Nov 2003. ===
- A couple fixes to the solaris9g+krb5+krb4+openssl+shadow+pam+zlib
- target from Jeff. Added a solaris9g+openssl+shadow+pam+zlib target.
- makefile, 21 Nov 2003. ===
- From Jeff, 30 Nov 2003:
- . Fix SEND /MOVE-TO: ckuusr.c.
- . Fix K95 SET TITLE to allow quotes/braces around text: ckuus7.c.
- . Improved "set term autodownload ?" response: ckuus5.c.
- . Fix SHOW FEATURES to specify the protocol for encryption: ckuus5.c
- . Make {SEND, RECEIVE} {MOVE-TO, RENAME-TO} work for XYZMODEM (K95 only).
- ===
- From Jeff: 7 Jan 2004:
- . At one point Frank started to add a timer parameter to the
- uq_txt() function but he only did it for the non-ANSI
- compilers. I added it for the ANSI compilers, fixed the
- prototypes and provided a default value easily changed
- DEFAULT_UQ_TIMEOUT: ckcker.h, ckuus[36].c, ck_ssl.c, ckcftp.c, ckuath.c.
- . Fixed SET TERMINAL DEBUG ON (typo in variable name): ckuus7.c.
- . Fixed BEEP INFORMATION; previously it made no sound, now uses
- MB_ICONQUESTION. ckuusx.c.
- ===
- From Ian Beckwith <ian@nessie.mcc.ac.uk> (Debianization), 7 Jan 2004:
- . Search dir/ckermit for docs, as well as dir/kermit in cmdini(): ckuus5.c.
- . New linux+krb5+krb4+openssl+shadow+pam target (kitchen sink minus SRP,
- which Debian does not distribute): makefile.
- ? Mangles the DESTDIR support in makefile to install into a staging area:
- makefile (I didn't take this one yet).
- Updated copyright notices for 2004, all modules. 7 Jan 2004. ===
- Added INPUT /NOMATCH, allowing INPUT to be used for a fixed amount of
- time without attempting to match any text or patterns, so it's no
- longer necessary to "input 600 STRING_THAT_WILL_NEVER_COME". If
- /NOMATCH is included, INPUT succeeds if the timeout expires, with
- \v(instatus) = 1 (meaning "timed out"); fails upon interruption or i/o
- error. ckuusr.h, ckuus[r24].c, 7 Jan 2004. ===
- Added SET INPUT SCALE-FACTOR <float>. This scales all INPUT timeouts by
- the given factor, allowing time-sensitive scripts to be adjusted to
- changing conditions such as congested networks or different-speed
- modems without having to change each INPUT-class command. This affects
- only those timeouts that are given in seconds, not as wall-clock times.
- Although the scale factor can have a fractional part, the INPUT timeout
- is still an integer. Added this to SHOW INPUT, and added a \v(inscale)
- variable for it. ckuusr.h, ckuus[r257].c, 7 Jan 2004. ===
- undef \%a, \fverify(abc,\%a) returns 0, which makes it look as if \%a
- is a string composed of a's, b's, and/or c's, when in fact it contains
- nothing. Changed \fverify() to return -1 in this case. ckuus4.c, 12 Jan
- 2004. ===
- \fcode(xxx) returned an empty string if its argument string was empty.
- This makes it unsafe to use in arithmetic or boolean expressions.
- Changed it to return 0 if its argument was missing, null, or empty.
- ckuus4.c, 12 Jan 2004. ===
- Updated \verify() and \fcode() help text. ckuus2.c, 12 Jan 2004. ===
- While setting up IKSD, Ian Beckwith noticed that including the
- --initfile: option caused Kermit to start parsing its own Copyright
- string as if it were the command line, and eventually crash. I couldn't
- reproduce on Solaris / Sparc but I could in Linux / i386 (what Ian is
- using) -- a change from Jeff on 28 Apr 2003 set the command-line arg
- pointer to a literal empty string in prescan() about line 1740 of of
- ckuus4.c; the pointer is incremented next time thru the loop, resulting
- in random memory being referenced. Fixed by setting the pointer to NULL
- instead of "". ckuus4.c, 12 Jan 2004. ===
- declare \&a[999999999999999] would dump core on some platforms. atoi()
- or whatever would truncate the dimension to maxint. When we add 1 to
- the result, we get a negative number, which is used as an index, loop
- test, etc. Fixed both dodcl() and dclarray() to check for (n+1 < 0).
- ckuus[r5].c, 12 Jan 2004. ===
- Unix zchki() would fail on /dev/tty, which is unreasonable. This
- prevented FOPEN /READ from reading from the terminal. zchki() already
- allowed for /dev/null, so I added /dev/tty to the list of specials.
- Ditto for FOPEN /WRITE and zchko(). ckufio.c 13 Jan 2004. ===
- Added untabify() routine to ckclib.[ch], 13 Jan 2004. Added FREAD /TRIM
- and /UNTABIFY. ckuus[27].c, 13 Jan 2004. Added \funtabify(). ckuusr.h,
- ckuus[24].c, 13 Jan 2004. ===
- Dat Nguyen noticed that (setq u 'p') followed by (u) dumped core. This
- was caused by an over-clever optimization that skipped mallocs for
- short literals, but then went on later to try to free one that hadn't
- been malloc'd. Fixed in dosexp(): ckuus3.c, 14 Jan 2004. ===
- Catch another copyright date. ckuus5.c, 14 Jan 2004. ===
- Fixed SWITCH to work even when SET COMMAND DOUBLEQUOTE OFF (from Mark
- Sapiro). ckuus5.c, 15 Jan 2004. ===
- Changed version to 8.0.211 so scripts can test for recently added
- features. ckcmai.c, 15 Jan 2004. ===
- Fixed a glitch in K95 "help set port". ckuus2.c, 20 Jan 2004. ===
- Fix from Jeff: Connections to a TLS-aware protocol which require a
- reconnect upon certificate verification failure could not reconnect if
- the connection was initiated from the command line or via a URL.
- ckctel.c ckcmai.c ckuusr.c ckuus7.c ckuusy.c, 20 Jan 2004. ===
- From Alex Lewin: makefile target and #ifdef for Mac OS X 10.3
- (Panther): makefile, ckcnet.c, 7 Feb 2004. ===
- Added KFLAGS to sco32v507 targets to make PTY and SSH commands work.
- The same flags could probably also be added to earlier OSR5 targets but
- they have not been tested there. makefile, 7 Feb 2004. ===
- Checked a complaint that "LOCAL &a" did not make array \&a[] local.
- Indeed it did not, and can not. You have to use the full syntax in the
- LOCAL command, "LOCAL \&a[]", or else it doesn't know it's not a macro
- named &a. 7 Feb 2004. ===
- Fixed some confusion in creating IKSD database file and temp-file
- names. I was calling zfnqfp() without remembering that the path member
- of the returned struct included the filename, so to get just the
- directory name, I needed to strip the filename from the right.
- ckuusy.c, 2 Mar 2004. ===
- New ckuath.c, ck_ssl.c from Jeff. 2 Mar 2004. ===
- Updated Jeff's affiliation in VERSION command text. ckuusr.c, 2 Mar
- 2004. ===
- Designation changed from Dev.00 to Beta.01. ckcmai.c, 2 Mar 2004. ===
- Fixed zrename() syslogging -- it had success and failure reversed.
- Beta.02: ckufio.c, 4 Mar 2004. ===
- Problem: when accessing IKSD via a kermit:// or iksd:// URL, and a user
- ID is given but no password, doxarg() set the password to "" instead of
- leaving it NULL, but all the tests in dourl() are for NULL. Fixed in
- doxarg(): ckuusy.c, 5 Mar 2004. ===
- The logic in dourl() about which macro to construct (login and connect,
- login and get directory listing, or login and fetch a file) was a bit
- off, so all three cases were not handled. ckcmai.c, 5 Mar 2004. ===
- Trial Beta builds:
- . HP-UX B.11.11 PA-RISC
- . HP-UX B.11.23 IA64
- . Tru64 4.0G Alpha
- . Tru64 5.1B Alpha
- . Debian 3.0 i386
- . Red Hat ES 2.1 i386
- . Slackware 9.1 i386
- . VMS 7.3-1 Alpha + UCX 5.3
- . VMS 7.3-1 Alpha no TCP/IP
- . VMS 7.3 Alpha MultiNet 4.3 A-X
- . SCO UnixWare 7.1.4 i386
- . SCO OSR5.0.7 i386
- . Solaris 9 Sparc
- ===
- Fixed compiler warning in doxarg() caused by typo (NULL instead of NUL)
- in the 5 March doxarg() edit. ckuusy.c, 9 Mar 2004. ===
- IKSD (kermit://) command-line URLs did not work right if the client had
- already preauthenticated with Kerberos or somesuch because they tried
- to log in again with REMOTE LOGIN. The macros constructed in doxarg()
- needed to check \v(authstate) before attempting REMOTE LOGIN. ckcmai.c,
- 10 Mar 2004. ===
- Added ckuker.nr to x.sh (ckdaily upload) and updated ckuker.nr with
- current version number and dates. 10 Mar 2004. ===
- Replaced hardwired references to /usr/local in makefile with $(prefix)
- (which defaults to /usr/local, but can be overridden on the command
- line), suggested by Nelson Beebe for use with Configure. 10 Mar 2004.
- ===
- From Nelson Beebe: In the Kermit makefile in the install target
- commands, line 981 reads:
- cp $(BINARY) $(DESTDIR)$(BINDIR)/kermit || exit 1;\
- Could you please add this line before it:
- rm -f $(DESTDIR)$(BINDIR)/kermit;\
- Some sites (mine included) keep multiple versions of software around,
- with hard links between $(prefix)/progname and
- $(prefix)/progname-x.y.z. Failure to remove the $(prefix)/progname at
- "make install" time then replaces the old $(prefix)/progname-x.y.z with
- the new one, destroying an old version that the site wanted to be
- preserved. makefile, 10 Mar 2004. ===
- Minor syntax and typo fixes (mostly prototypes): ckcdeb.h, ckcfns.c,
- ckclib.c, ckufio.c, ckuusr.h, ckuusx.c, 10 Mar 2004. (I still have a
- few more to do.) ===
- Added CC=$(CC) CC2=$(CC2) to many (but not all) makefile targets that
- reference other makefile targets. On some platforms (notably AIX,
- Solaris, SunOS) there are specific targets for different compilers, so
- I skipped those. makefile, 10 Mar 2004. ===
- Added error checking to kermit:// URL macros, so they don't plow ahead
- after the connection is closed. ckcmai.c, 11 Mar 2004. ===
- Added FreeBSD 4.9 and 5.1 targets (only the herald is affected).
- makefile, ckuver.h, 11 Mar 2004.
- === Added "LIBS=-lcrypt" to bsd44 targets since nowadays crypt is
- almost always unbundled from libc. Also added explanatory notes.
- makefile, 11 Mar 2004. ===
- Changed MANDIR to default to $(manroot)/man/man1, and manroot to
- default to $(prefix). More adding of CC=$(CC) clauses:
- {Free,Net,Open}BSD, 4.4BSD. makefile, 11 Mar 2004. ===
- Miscellaneous cleanups: ckuusx.c, ckcnet.c, ckufio.c, 11 Mar 2004. ===
- Corrected the check in the linux target to see if /usr/include/crypt.h
- exists, and if so to define HAVE_CRYPT_H, which is used in ckcdeb.h to
- #include <crypt.h> to get the prototype for crypt() and prevent bogus
- conversions on its return type on 64-bit platforms (the previous test
- wasn't quite right and the resulting symbol wasn't spelled right).
- makefile, 12 Mar 2004. ===
- From Jeff, 14 Mar 2004:
- . Initialize localuidbuf[] in tn_snenv(): ckctel.c.
- . Remove remote-mode checks in hupok() for K95G only (why?): ckuus3.c.
- . Add help text for new K95-only TYPE /GUI switches: ckuus2.c.
- . TYPE /GUI parsing, ...: ckuusr.c.
- . TYPE /GUI action, dotype(): ckuus6.c
- . Change Jeff's affiliation: most modules.
- ===
- 20 Mar 2004: Looked into adding long file support, i.e. handling files
- more than 2GB (or 4GB) long. Discovered very quickly this would be a
- major project. Each platform has a different API, or environment, or
- transition plan, or whatever -- a nightmare to handle in portable code.
- At the very least we'll need to convert a lot of Kermit variables from
- long or unsigned long to some new Kermit type, which in turn is
- #defined or typedef'd appropriately for each platform (to off_t or
- size_t or whatever). Then we have to worry about the details of open()
- vs fopen(); printf() formats (%lld vs %Ld vs %"PRId64"...), platforms
- like HP-UX where you might have to use different APIs for different
- file systems on the same computer, etc. We'll need to confront this
- soon, but let's get a good stable 8.0.211 release out first! Meanwhile,
- for future reference, here are a few articles:
- General: [3]http://freshmeat.net/articles/view/709/
- Linux: [4]http://www.ece.utexas.edu/~luo/linux_lfs.html
- HP-UX: [5]http://devrsrc1.external.hp.com/STK/partner/lg_files.pdf
- Solaris: [6]http://wwws.sun.com/software/whitepapers/wp-largefiles/largefiles.
- pdf
- ===
- Looked into FTP timeouts. It appears I can just call empty() (which is
- nothing more than a front end for select()) with the desired timeout
- before any kind of network read. If it returns <= 0, we have a timeout.
- This is not quite the same as using alarm() / signal() around a recv()
- (which could get stuck) but alarm() / signal() are not not used in the
- FTP module and are not naturally portable to Windows, but select() is
- already in use in the FTP module for both Unix and Windows. This form
- of timeout could be used portably for both command response and data
- reads. What about writes to the command or data socket? They can get
- stuck for hours and hours without returning too, but the select()
- approach won't help here -- we need the actual send() or recv() to time
- out, or be wrapped in an alarm()/signal() kind of mechanism. But if we
- can do that for sends, we can also do it for receives. Better check
- with Jeff before I start programming anything. 20 Mar 2004.
- Later: Decided to postpone the above two projects (ditto IPv6) until
- after 8.0.211 is released because both will have major impacts on
- portability. Grumble: all i/o APIs should have been designed from the
- beginning with a timeout parameter. To this day, hardly any have this
- feature. ===
- 3-4 Apr 2004: More 8.0.211 Beta.02+ test builds:
- . FreeBSD 3.3
- . FreeBSD 4.4
- . Linux Debian 2.1
- . Linux RH 6.1
- . Linux RH 7.1
- . Linux RH 7.2
- . Linux RH 9 (with 84 different combinations of feature selection)
- . Linux SuSE 6.4
- . Linux SuSE 7.0
- . NetBSD 1.4.1
- . NetBSD 1.5.2
- . OpenBSD 2.5
- . OpenBSD 3.0
- . QNX 4.25
- . SCO UnixWare 2.1.3
- . SCO UnixWare 7.1.4
- . SCO OpenServer 5.0.7
- . SCO XENIX 2.3.4 (no TCP)
- Changes needed: None. ===
- Problem: SCO XENIX 2.3.4 network build failed in the FTP module with
- header-file syntax and conflicting-definitions trouble. I'm not going
- to try to fix it; 8.0.209 built OK with FTP, so we'll just keep that
- one available. ===
- Got access to VMS 8.1 on IA64. Building the nonet version of C-Kermit
- required minor modifications to ckvvms.h, ckv[ft]io.c, and ckvcon.c, to
- account for a third architecture. Also to SHOW FEATURES in ckuus5.c.
- Once that was done, the UCX 5.5 version built OK too. Starts OK, makes
- Telnet connection OK, sends files. Has some obvious glitches though --
- "stat" after a file transfer reports 0 elapsed time (in fact it was
- 00:09:48) and 1219174400 cps (when in fact it was 10364). This doesn't
- happen on the Alpha. Btw, the IA64 binary is twice as big as the Alpha
- one. Changed to Beta.03. 5 Apr 2004. ===
- Fixed the ckdaily script to include the makefile and man page in the
- Zip file (they were not included because the Zip file was intended
- mainly for VMS users, but some Unix users prefer Zip to tar.gz). 6 Apr
- 2004. ===
- Traced problems in VMS/IA64 statistics report to rftimer()/gftimer() in
- ckvtio.c, which use sys$ and lib$ calls to figure elapsed time. These
- work on VAX and Alpha but not IA64. Sent a report to the chief engineer
- of the IA64 VMS port; he says it's probably a bug in VMS 8.1 (which is
- not a real release); he'll make sure it's fixed in 8.2. As an
- experiment, tried swapping in the Unix versions of these routines
- (which call gettimeofday() etc). They seem work just fine (it hung a
- couple times but I think that's because the underlying system hung too;
- trying it later on a new connection, it was fine; however I noticed a
- BIG discrepancy in throughput between sending and receiving). Moved
- definitions for VMS64BIT and VMSI64 to ckcdeb.h so all modules can use
- them and added them to the SHOW FEATURES display. Added VMSV80
- definition to build procedure. Beta.03+. ckcdeb.h, ckcuus5.c,
- ckcvvms.h, ckvtio.c, ckvker.com, 6 Apr 2004. ===
- While doing the build-all, I noticed the VMS version did not build with
- Multinet or older UCX versions, always with the same errors --
- undeclared variables, undefined symbols, all TCP/IP related. This
- didn't happen a couple weeks ago... Somehow the order of #includes was
- messed up -- ckuusr.h depended on symbols that are defined in ckcnet.h,
- but ckcnet.h was being included after ckuusr.h... this was compounded
- by two missing commas in ckvker.com. 11 Apr 2004. ===
- Removed Beta designation, released as 8.0.211, 10 Apr 2004.
- I had somehow lost the edit to ckutio.c that changed the UUCP lockfile
- for Mac OS X from /var/spool/uucp to /var/spool/lock. So I slipped it
- in and re-uploaded version 8.0.211. You can tell the difference because
- SHOW VERSIONS has 17 Apr 2004 for the Communications I/O module. Also
- the 10.3 executable now has a designer banner: "Mac OS X 10.3".
- makefile, ckuver.h, ckutio.c, ckuus[45].c, 17 Apr 2004. ===
- ---8.0.211--- ===
- Removed "wermit" from "make clean" (how did it get there?). makefile.
- ===
- From Jeff, applied 10 May 2004.
- . Rearrange #ifdefs that define OS/2-only features. ckcdeb.h.
- . Fix two strncat()s that should have been ckstrncat()s. ckuus7.c.
- . Fix two strncat()s that should have been ckstrncat()s. ckuus4.c.
- . Fix one strncat(). ckcfns.c.
- . SET FTP CHAR ON used backwards byte order when output to screen. ckcfns.c.
- . Fix two strncat()s. ckuus3.c.
- . Add SET NETWORK TYPE NAMED-PIPE for K95. ckuus3.c.
- . Add "No active connections" message to hupok(). ckuus3.c.
- . Fix many strncat()s. ckcnet.c.
- . Fix some strncat()s. ckcftp.c
- . Make FTP port unsigned short for 16383 < port < 65536. ckcftp.c.
- . Improvements to FTP USER command. ckcftp.c.
- . Fix FEAT parsing to allow for various forms of whitespace. ckcftp.c.
- ===
- S-Expression (AND FOO BAR) would not short-circuit if FOO's value was
- 0, even though short-circuiting code has been there since Day 1.
- Similarly for (OR BAR FOO). Turns out the first operand was a special
- case that bypassed the short-circuit check. Fixed in dosexp():
- ckuus3.c, 10 May 2004. ===
- Red Hat 7.3 (and maybe others) <baudboy.h> referenced open() without
- first ensuring it was declared. The declaration is in <fcntl.h>, which
- is after <baudboy.h> in ckutio.c series of #includes. Made a special
- case for this. ckutio.c (see comments), 10 May 2004. ===
- If the local Kermit's parity is set to SPACE and then a file arrives
- via autodownload, automatic parity detection improperly switches it to
- NONE. Fixed in rpack() by switching parity automatically only if
- parchk() returns > 0 (rather than > -1), since NONE and SPACE are
- indistinguishable. A bigger problem still remains: autodownload does
- not work at all if the sender is using actual parity bits (even, odd,
- or mark) and the receiver's parity is NONE. ckcfn2.c, 10 May 2004. ===
- When a DIAL MACRO is defined and the phone number is comprised of more
- than one "word" (i.e. contains spaces), the dial macro loses the second
- and subsequent words after the first call. Fixed in xdial() by
- inserting quotes around phone number before passing it to xdial().
- ckuus6.c, 10 May 2004. ===
- DIAL MACRO fix was not right; the quotes were kept as part of the phone
- number and sent to the modem. dodo() pokes its argument to separate the
- macro argument string into its component arguments. xdial() is called
- repeatedly on the same string, so after the first time, a NUL has been
- deposited after the first word of the telephone number. The fix is to
- have xdial() create a pokeable copy of its argument string before
- calling dodo(dial-macro,args...). It might seem odd that dodo pokes its
- argument, but making copies would be would be prohibitive in space and
- time. ckuus6.c, 23 May 2004. ===
- FTP CD did not strip braces or quotes from around its argument. Fixed
- in doftprmt(): ckcftp.c, 23 May 2004. ===
- Added client side of REMOTE MESSAGE/RMESSAGE/RMSG: ckuus[r27].c, 23 May
- 2004. ===
- Server side of REMOTE MESSAGE: ckcpro.w, 23 May 2004. ===
- From Dave Sneddon: an updated CKVKER.COM containing a fix where the
- COMPAQ_SSL symbol was not defined but later referenced which generated
- an undefined symbol error. ckvker.com, 5 Jan 2005. ===
- From Andy Tanenbaum (28 May 2005):
- . Fix an errant prototype in ckcker.h and ckucmd.h - () instead of (void).
- . Add support for MINIX 3.0. makefile, ckutio.c, ckufio.c, ckuver.h.
- ===
- Fixed messed-up sndhlp() call which apparently had been jiggered to
- compensate for the bad prototype which has now been fixed, ckcpro.w, 12
- Jun 2005. ===
- From Jeff (12 June 2005):
- . Security updates. ck_ssl.c, ck_crp.c, ckuath.c.
- . Fix bug in K95 SET PRINTER CHARACTER-SET. ckuus3.c.
- . Add printer character-set to K95 SHOW PRINTER display. ckuus5,c
- . Add SET MSKERMIT FILE-RENAMING to K95. ckuus7.c, ckuusr.h.
- . Add help for K95 SET MSKERMIT. ckuus2.c.
- . Add SET GUI CLOSE to K95. ckuusr.h, ckuus2.c, ckuus3.c
- . Add help text for K95 SET GUI MENUBAR and TOOLBAR. ckuus2.c.
- . Add --noclose command-line option for K95. ckuusy.c
- . Add PAM support for Mac OS X. ckufio.c.
- . Add GSSAPI support for Mac OS X. ckcftp.c.
- . Pick up more URL options. ckcker.h, ckuusy.c.
- . Fix bug in delta-time calculation across year boundary. ckucmd.c.
- . Add Secure Endpoints to copyright notices. ckcmai.c.
- . Fix FTP HELP to override unverbose setting. ckcftp.c.
- . Fix assorted minor typos.
- ===
- From Matthias Kurz: automatic herald generation for NetBSD 2.0 and
- later, "make netbsd2". ckuver.h, makefile, 12 Jun 2005. ===
- Added SET TERMINAL LF-DISPLAY, like CR-DISPLAY but for linefeed rather
- than carriage return. ckuusr.h, ckuus[257x].c, 12 Jun 2005. ===
- Made a command-line option --unbuffered to do what the -DNONOSETBUF
- compile-time option does, i.e. force unbuffered console i/o. Unix only.
- ckuusr.h, ckuusy.c, ckutio.c, 12 Jun 2005. ===
- Fixed getiact() (which displays TERM IDLE-ACTION setting) to display
- space as \{32}. ckuus7.c, 12 Jun 2005. ===
- Added LMV as a synonym for LRENAME, which is itself a synonym for LOCAL
- RENAME. ckuusr.c, 12 Jun 2005. ===
- Put HELP SET TERMINAL DG-UNIX-MODE text where it belonged. ckuus2.c, 12
- Jun 2005. ===
- Added IF LINK (Unix only) to test if a filename is a symlink. Uses the
- most simpleminded possible method, calls readlink() to see if it
- succeeds or fails. No other method is dependable across different
- Unixes. This code should be portable because I already use readlink()
- elsewhere within exactly the same #ifdefs. ckufio.c, ckuus2.c,
- ckuus6.c, 12 Jun 2005. ===
- Fixed a bug in which \fdir() wouldn't work when its argument was the
- nonwild name of a directory file. zxpand(): ckufio.c, 12 Jun 2005. ===
- Made \fdirectory() a synonym for \fdirectories(). Made \fdir() an
- acceptable abbreviation for these, even though it clashes with
- \fdirname(), which still works as before. ckuus4.c, 12 Jun 2005. ===
- Added the long-needed \flopx() function, to return rightmost pieces of
- strings, such as file extensions. \fstripx() and \flopx() are the
- orthogonal functions we need to pick filenames apart from the right:
- \stripx(foo.tar.gz) = foo.tar; flopx(foo.tar.gz) = gz. ckuusr.h,
- ckuusr.c, ckuus2.c, 12 Jun 2005. ===
- Removed reference to defunct fax number, ckcmai.c, 12 Jun 2005. ===
- Added -DHAVE_PTMX to linux+krb5+openssl+zlib+shadow+pam. From Timothy
- Folks. makefile, 12 Jun 2005. ===
- Built on Solaris 9 and NetBSD 2.0. ===
- From Jeff: New build target for Mac OS X 10.3 with Kerberos 5 and SSL.
- makefile, 14 Jun 2005. ===
- Fixed error in ckuver.h NetBSD #ifdefs. 15 Jun 2005. ===
- Fixed SET TERMINAL IDLE-ACTION OUTPUT to work as documented, namely if
- the output string is empty, to send a NUL. Previously there was no way
- to make it send a NUL. ckuus7.c, 15 Jun 2005. ===
- Suppose (in Unix, for example) a filename contains wildcard characters,
- such as {abc}.txt. When referring to such a file (e.g. in a SEND
- command), these characters can be quoted, e.g. \{abc\}.txt. But if the
- file list has been obtained programmatically, e.g. stored in an array,
- there is no way, short of tedious, complicated, and error-prone string
- processing, to reference the file. For this we need a way to disable
- wildcard processing. I added { ON, OFF } choices for the SET WILD and
- SHOW FILE commands: ckuusr.h, ckuus[234].c. { ON, OFF } turns
- wildcarding off and on without affecting the { KERMIT, SHELL } agent
- choice; it does this by setting a new and separate global variable,
- wildena. Added semantics to ckufio.c. Crude but effective. It might
- have been more Unixlike to add Yet Another form of quoting but we have
- enough of that already (later maybe I'll add a \function() for this).
- Needs to be propagated to Windows and VMS. 15 Jun 2005. ===
- Improved and fixed typos in HELP WILDCARD and HELP PATTERN. ckuus2.c,
- 15 Jun 2005. ===
- The GREP command, and probably anything else that uses ckmatch() for
- pattern matching, failed on patterns like */[0-3]*.html. The [a-b]
- handler, when failing to match at the current position, neglected to
- back up the pattern and try again on the remainder of the string. I
- also fixed another case, in which matching a literal string a*b?c
- against the pattern a[*?]*[?*]c caused ckmatch() to recurse until it
- blew up. ckclib.c, 16 Jun 2005. ===
- Added builds and designer banner for Solaris 10. makefile, ckuver.h, 27
- Jun 2005. ===
- Defined CKHTTP for NetBSD, the HTTP code builds and works fine there.
- ckcdeb.h, 2 Jul 2005. ===
- Added #ifndef OSF40..#endif around definition of inet_aton() in
- ck_ssl() to allow building in Tru64. Added tru64-51b+openssl to
- makefile. 15 Jul 2005. ===
- HTTP GET would fail if the URL contained any metacharacters, no matter
- how much you quoted them. Although it uses cmfld() to parse the
- (partial) URL, it then uses cmofi() to get the output filename, which
- by default is the "filename" from the URL, which might be something
- like "rankem.asp?id=1639". cmofi() refuses to accept unquoted
- metacharacters in "filenames" and that's what happens in this case if
- the output filename is not specified. Worked around this by disabling
- wildcard processing around HTTP GET using the new "wildena" variable
- from June 15th. ckuusr.c, 18 Jul 2005. ===
- Fixed the June 16th fix to the pattern matcher. I fixed a real problem,
- but I made an unrelated optimization that introduced new ones.
- ckclib.c, 18 Jul 2005. ===
- Added missing help text for \fb64encode() and \fb64decode(). ckuus2.c,
- 18 Jul 2005. ===
- Changed SET WILD OFF help text to warn that this setting prevents the
- creation of backup files (later I'll have to see if something more
- useful can be done about this). ckuus2.c, 18 Jul 2005. ===
- Built OK on Mac OS X 10.4.2 using macosx103 target (but with some
- "signedness" warnings in ckcnet.c and ckcftp.c). Built on Unixware
- 7.1.4 with uw7 target. 27-28 Jul 2005. ===
- Added -DCKHTTP to Mac OS X 10.3-.4 KFLAGS. Makefile, 4 Aug 2005. ===
- Built on BSDI 4.3.1. Added -DCKHTTP. ===
- Compact substring notation extended to accept not only start:length but
- also start-end notation. Thus \s(foo[12:18]) means the substring of foo
- starting at position 12 of length 18, and tne new \s(foo[12-18]) means
- the substring of foo starting at position 12 and ending with position
- 18. Ditto for \:(\%a), etc. ckuus4.c, 9 Aug 2005. ===
- See correspondence with Mark Sapiro, Nov 2003 and Sep 2004, about
- certain variations on IF syntax having been broken by the introduction
- of "immediate macros" circa 1999. It seems the problem -- variables not
- being expanded -- always occurs in the ELSE part when (a) the IF
- condition is false; (b) the ELSE command is "standalone", i.e.
- expressed as a separate command after the IF command (original C-Kermit
- 5A syntax), and (c) its command list is a block. This would suggest the
- problem is in the XXELS parser.
- Going back to 1999, I find this:
- Fixed a problem Jim Whitby noticed with quoting in ELSE statements. This
- problem was introduced when I unified IF and XIF, and occurs only when
- ELSE begins on a line, followed by a { command list } rather than a single
- command. The solution (gross) was to make a special version of pushcmd()
- (called pushqcmd()) for this situation, which doubles backslashes while
- copying, BUT ONLY IF it's a command list (i.e. starts with "{"); otherwise
- we break lots of other stuff. Result passes Jim's test and still passes
- ckedemo.ksc and iftest.ksc. ckucmd.c, ckuus6.c, 27 Sep 99.
- I undid this change and it made no difference to all the other IF
- constructions (in fact, it fixed an unrelated one that was broken, so
- now iftest scores 54 out of 54, instead of 53). However, it does not
- fix the ELSE problem; in fact it pushes it all the way in the other
- direction:
- The opposite occurs any time you try to execute an immediate macro inside a
- macro or any other { block }: not only is the variable evaluated, it is
- evaluated into nothing. It looks like this happens only in immediate
- macros, i.e. *commands* that start with '{'. So maybe we really have two
- isolated problems, that can each be fixed.
- The situation is illustrated by this simple script:
- def xx {
- if false { echo \%1, echo \%2 }
- else { echo \%3, echo \%4 }
- }
- xx one two three four
- With pushqcmd() it echoes the variable names literally; with pushcmd()
- it echoes empty lines. Since ELSE, when its argument is a block,
- dispatches to the immediate-macro handler, it seems we have unified the
- two problems, so fixing one should fix the other.
- The problem is that we define a new temporary macro and then call
- dodo() to execute it. But if the definition contains macro arguments,
- we have added a new level of macro invocation, thus wiping out the
- current level of args. The cure is to expand the variables in the
- immediate macro in the current context, before executing it. This means
- simply changing the cmtxt() call that reads the immediate macro to
- specify zzstring as its processing function, rather than NULL, which is
- used for real macros to defer their argument evaluation until after the
- macro entered. ckuusr.c, 11 Aug 2005. ===
- Added a new makefile target, macosx10.4, for Mac OS X 10.4. This one
- uses an undocumented trick to get the otherwise
- unavailable-except-by-clicking Mac OS X version number (in this case
- 10.4.2) and stuff it into the HERALD string. makefile, 11 Aug 2005. ===
- Built OK on Solaris 9, Solaris 10 (with a few implicit declaration
- warnings in ckuusx.c), Mac OS X 10.4.2 (with some warnings in ckcnet.c
- and ckcftp.c), Mac OS X 10.3.9 (also using the macos10.4 entry, which
- gets the right version number, and gets no warnings at all), RH
- Enterprise Linux AS4 on AMD x86_64, Tru64 Unix 4.0F, SCO UnixWare 7.1.4
- ===
- For docs and/or scriptlib: Unix C-Kermit can be a stdin/out filter. The
- trick is to use the ASK, ASKQ, or GETC command for input, specifying no
- prompt, and ECHO or XECHO for output, e.g.:
- while true {
- ask line
- if fail exit 0
- echo \freverse(\m(line))
- }
- exit 0
- FOPEN didn't do anything with the channel number if the open failed, so
- any subsequent command that tried to reference it would get a parse
- error it was undefined or non-numeric, not very helpful. Changed FOPEN
- to set the channel number to -1 if the file can't be opened. Now
- subsequent operations on the channel fail with "Channel -1: File not
- open". I also added two magic channel numbers: -8 means that any FILE
- command (besides OPEN and STATUS) on that channel is a noop that
- succeeds silently; -9 is a noop that fails silently. So now it's
- possible to simply set a channel number to one of these values to
- disable i/o to certain file without getting lots of error messages.
- dofile(): ckuus7.c, 12 Aug 2005. ===
- Added automatic herald construction for UnixWare 7. makefile, 12 Aug
- 2005. ===
- Unix isdir() never allowed for arguments that started with tilde, so
- gave incorrect results for ~/tmp/ or ~fdc. The problem was mainly
- invisible since most commands that parsed file or directory names used
- cmifi(), cmdir(), etc, which did the conversions themselves. But IF
- DIRECTORY was an exception, since its operand had to be treated as just
- text, and then tested after it was parsed. ckufio.c, 13 Aug 2005.
- Fixed the following: "ckuusx.c", line 8959: warning: implicit function
- declaration: ckgetpeer "ckufio.c", line 1869: warning: implicit
- function declaration: ttwait "ckufio.c", line 2941: warning: implicit
- function declaration: mlook "ckufio.c", line 2943: warning: implicit
- function declaration: dodo "ckufio.c", line 2944: warning: implicit
- function declaration: parser "ckcftp.c", line 2625: warning: implicit
- function declaration: delta2sec "ckcftp.c", line 4071: warning: no
- explicit type given for parameter: prm "ckcftp.c", line 8389: warning:
- no explicit type given for parameter: brief ckuusx.c, ckufio.c,
- ckcftp.c, ckucmd.h. 13 Aug 2005. ===
- Unbuffered stdout code has never worked because the setbuf(stdout,NULL)
- call has to occur before the stdout has been used. The reason it's
- needed is that some Kermit code writes to stderr (which is unbuffered)
- and other code writes to stdout, and therefore typescripts can come out
- jumbled. Robert Simmons <robertls@nortel.com> provided the needed clue
- when he insisted it worked only when executed at the very beginning of
- main(). So I moved the code to that spot. But since now we also want to
- make unbuffered a runtime (command-line) option, I had to do a clunky
- by-hand pre-prescan inline in main() to look thru argv[], even before
- prescan() was called. ckcmai.c, ckutio.c, ckuusy.c, 13 Aug 2005. (Now
- that this works, it might be a good idea to remove all use of stderr
- from Kermit.) ===
- Managed, after some finagling, to build a 64-bit version on Solaris 10
- at Utah Math with Sun cc. (Can't make any gcc builds at all, 32- or
- 64-bit, they all blow up in <sys/siginfo.h>.) New target: solaris10_64.
- makefile, 15 Aug 2005. ===
- The 64-bit Solaris 10 version compiles and links OK and transfers files
- in remote mode. It can make FTP connections and use them, but Telnet
- connections always fail with "network unreachable". This is with all
- default libs and include files. Nelson has a separate set in
- /usr/local, which he references explicitly in all his 64-bit builds,
- but using these makes no difference. Some data type is wrong in
- ckcnet.c. But telnet works fine in 64-bit Linux and Tru64 builds. Debug
- logs trace the difference to netopen() (of course), the spot where we
- test the results of inet_addr(), which is already marked suspicious for
- 64-bit builds. It seems that inet_addr() is of type in_addr_t, which in
- turn is u_int32, i.e. an unsigned 32-bit int. Yet the man page says
- that failure is indicated by returning -1. I guess this doesn't matter
- in 32-bit builds, but in the 64-bit world, the test for failure didn't
- work right. I made a Solaris-specific workaround, and checked that it
- works in both 32-bit and 64-builds. I really hate typedefs. ckcnet.c,
- 15 Aug 2005. ===
- Changed the plain-text version (as opposed to the popup or GUI version
- - the GUI version, at least, already does this) of ASKQ to echo
- keystrokes asterisks rather than simply not echo anything, so it's
- easier to see what you're doing, the effects of editing, etc.
- Experimental; for now, there's no way to disable this. Not sure if
- there needs to be. Anyway, to get this working required a fair amount
- of cleaning up of gtword(), which was echoing different ways in
- different places. ckuus6.c, ckucmd.c, 15 Aug 2005. ===
- Added a solaris9_64 target for building a 64-bit version on Solaris 9
- with Sun cc. Verified, using the DIR command and \fsize() function on a
- 4.4GB file, that the Solaris 64-bit version of Kermit gets the size
- correctly, and that it can copy such a file (thus its
- fopen/fread/fwrite/fclose interface works right). Initiated a
- large-file transfer between here and Utah over SSH and verified that it
- puts the correct file size in the A packet when sending; the right
- quantities are shown on the file transfer display (file size CPS,
- percent done, etc). But even at 5Mb/sec, it takes a good while to
- transfer 4.4GB, more than 2 hours (not streaming; 30 window slots, 4K
- packets, maybe it would go faster with streaming)... After an hour or
- so, it filled up the partition and gave up (gracefully) before it
- reached the 2GB frontier (drained its pending packets, closed the
- partial file). Restarted at 12:54, this time with streaming and 8K
- packets (the speed wasn't significantly different). This time it
- transferred 95% of the file (4187660288 bytes) before failing because
- the disk filled up. Went to Utah and started a transfer between two
- Solaris 10/Sparc hosts; this goes about 8 times faster. The transfer
- completed successfully after 17m41s. All fields in the f.t. display
- looked right the whole time. Then I verified various other 64-bit
- combinations transferring the same 4.4GB file:
- To................
- From Sol Amd i64 Tru
- Sol OK OK OK OK Sol = Solaris 10 / Sparc
- Amd OK Amd = AMD x86_64 RH Enterprise Linux AS4
- i64 OK i64 = Intel IA64, RH 2.1AS
- Tru Tru = Tru64 Unix 4.0F Alpha
- (The other combinations are difficult to test for logistical reasons.)
- Tried sending the same long file with Kermit's FTP client. It chugged
- along for a while until I stopped it; it would have taken hours to
- complete. There is no indication that it wouldn't have worked, assuming
- the FTP server could also handle long files, which who knows. Anyway,
- Kermit showed all the right data on the display screen. 17 Aug 2005.
- ===
- On AMD x86_64 and IA64 native 64-bit Linux builds, the pty routines did
- not work at all. ptsname() dumped core. If I commented out ptsname(),
- then the next thing dumped core. The same code works on the other
- 64-bit builds. Poking around, I see that this version of Linux has an
- openpty() function, which I could try using instead of the current API
- -- grantpty(), etc. Then I see that openpty() is already coded into
- Kermit's pty module, conditionalized under HAVE_OPENPTY, which has
- never before been defined for any build. I added a test to the makefile
- linux target (look for the openpty() prototype in <pty.h>, if found
- define HAVE_OPENPTY as a CFLAG and also add -lutil to LNKFLAGS). Works
- fine on the problem builds, and also on previously working 32-bit
- builds. makefile, 17 Aug 2005. ===
- Fixed a bug in the ASKQ echo asterisks code, which made the VMS version
- of C-Kermit always echo asterisks. Turns out that some code in the main
- parse loop to reset command-specific flags was in the wrong place,
- which had other effects too, for example ASKQ temporarily turns off
- debug logging as a security measure, but the code to turn it back on
- was skipped in most cases. Some other side effects related to the
- DIRECTORY and CD commands might have been possible but I haven't seen
- them. ckuus[56].c, 23 Aug 2005. ===
- Problem reported when sending a file to VMS when the name in the F
- packet starts with a device specification and does not include a
- directory field, and PATHNAMES are RELATIVE. Example: dsk:foo.bar
- becomes f_oo.bar. The code assumes that if there is a device field, it
- is followed by a directory field, and it inserts a dot after the '[',
- which in this case is not there. Later the dot becomes '_' because of
- the only-one-dot rule. Solution: only insert the dot if there really is
- an opening bracket. nzrtol(): ckvfio.c, 23 Aug 2005. ===
- A report on the newsgroup complains that C-Kermit and K95 servers were
- sending REMOTE DIR listings with only #J line terminators, rather than
- #M#J. Yet all the other REMOTE xxx responses arrived with #M#J.
- snddir() was neglecting to switch to text mode. ckcfns.c, 26 Aug 2005.
- ===
- Back to long files. What happens if 32-bit Kermit is sent a long file?
- It gets an A-packet that looks like this:
- ^A_"A."U1""B8#120050815 18:28:03!'42920641*4395073536,#775-!7@ )CP
- The 32-bit receiver reacts like so:
- gattr length[4395073536]=100106240
- the first number being the string from the A-packet, the second being
- the value of the long int it was converted to by atol(). Clearly not
- equal in this case. When this happens Kermit should reject the file
- instead of accepting it and then getting a horrible error a long time
- later. Added code to gattr() to convert the result of atol() back to a
- string and compare it with the original string; if they're not equal,
- reject the file on the assumption that the only reason this could
- happen is overflow. Also some other code in case the sender sends the
- only LENGTHK attribute. Now files whose lengths are too big for a long
- int are rejected right away, provided the sender sends the length in an
- A packet ahead of the file itself. If this new code should ever cause a
- problem, it can be bypassed with SET ATTRIBUTE LENGTH OFF. ckcfn3.c, 26
- Aug 2005. ===
- As I recall from when I was testing this a few weeks ago, when the
- too-big length is not caught at A-packet time, the transfer fails more
- or less gracefully when the first attempt is made to write past the
- limit. I went to doublecheck this by sending a big file from the 64-bit
- Solaris10 version to a 32-bit Mac OS X version that does not have
- today's code. The Mac thinks the incoming file is 2GB long when it's
- really 4GB+. But in this case, something new happens! Although the
- percent done and transfer rate go negative, the file keeps coming. It
- would seem that Mac OS X lets us create long files without using any
- special APIs. The transfer runs to completion. Mac OS X Kermit says
- SUCCESS (but gets the byte count and cps wrong, of course). But then a
- STATUS command says FAILURE. The file was, however, transferred
- successfully; it is exactly the same length and compares byte for byte
- with the original. This tells me that in the Mac OS X version -- and
- how many others like it??? -- today's rejection code should not be
- enabled. Meanwhile I put today's new code in #ifndef
- NOCHECKOVERFLOW..#endif, and defined this symbol in the Mac OS X 10.4
- target. Over time, I'll have to find out what other platforms have this
- characteristic. And of course I'll also have to do something about
- file-transfer display, statistics, and status. makefile, ckcfn3.c, 26
- Aug 2005. ===
- From now on I'm going to bump the Dev.xx number each time I upload a
- new ckdaily. This one will be Dev.02. ckckmai.c, 26 Aug 2005. ===
- Got rid of all the extraneous FreeBSD 4 and 5 build targets. Now
- there's one (freebsd) for all FreeBSD 4.1 and later. makefile, 27 Aug
- 2005. ===
- Mac OS X 10.4 (Tiger) is a 64-bit OS. Building C-Kermit 0n 10.4.2
- without any special switches stilll gives a 32-bit executable. Ditto
- building with -mpowerpc64. Further investigation turned up a tip sheet
- on MySQL that says you have to include all of these: -mpowerpc64
- -mcpu=G5 -mtune=G5 -arch ppc64. That did the trick. New makefile
- target: macosx10.4_64. But the 10.4.2 system I tried did not have
- 64-bit [n]curses or resolv libs, so this build has no -DNOCURSES
- -DNO_DNS_SRV. makefile, 27 Aug 2005. ===
- Created a symbol CK_64BIT to indicate true 64-bit builds at compile
- time. Added 64-bit announcement to the startup herald and the VERSION
- text. ckcdeb.h, ckuus[r5].c, 27 Aug 2005. ===
- Added a built-in variable \v(bits) to indicate the size of the build
- (16, 32, 64, or whatever else sizeof() might report). ckuusr.h,
- ckuus4.c, 27 Aug 2005. ===
- Got rid of all the warnings in 64-bit Mac OS X about args to
- getsockopt(), getsockname(), and getpeername(), and the comparisons on
- the return value of inet_addr(). ckcnet.[ch], 27 Aug 2005. ===
- Now to check the effects on other builds...
- Linux on AMD64: ok.
- Linux on IA64: ok.
- Linux on i386: ok.
- Mac OS X 10.3.9 32-bit: ok.
- Solaris 10 64-bit: ok.
- Solaris 9 32-bit: ok.
- Tru64 4.0F: ok.
- FreeBSD 4.11: ok.
- FreeBSD 5.4 ia64 (64-bit): ok.
- FreeBSD 5.4 i386 (32-bit): ok.
- The Tru64 5.1B build totally blew up because they have their own unique
- sockopt/etc length-argument data type (int!), so I had to roll back on
- using socklen_t for this in all 64-bit builds. Checked to make sure it
- still builds on Tru64 4.0F after this change (it does). ckcnet.h, 27
- Aug 2005. ===
- The HP-UX 11i/ia64 build comes out to be 32-bit but thinks it's 64-bit.
- CK_64BIT is set because __ia64 is defined. So how do I actually make a
- 64-bit HP-UX build? I tried adding +DD64 to CFLAGS, and this generates
- 64-bit object files but linking fails to find the needed 64-bit libs
- (e.g. -lm). For now I added an exception for HPUX to the CK_64BIT
- definition section. ckcdeb.h, 27 Aug 2005. ===
- Took the time to verify my recollection about the "graceful failure" on
- a regular Pentium Linux system when receiving a too-big file... OK,
- it's not exactly graceful. It gets a "File size limit exceeded" error;
- the message is printed in the middle of the file-transfer display,
- apparently not by Kermit, and Kermit exits immediately. Looks like a
- trap... Yup. "File size limit exceeded" is SIGXFSZ (25). What happens
- if we set it to SIG_IGN? Just the right thing: The receiver gets "Error
- writing data" at 2147483647 bytes, sends E-packet to sender with this
- message, and recovers with total grace (drains packet buffers, returns
- to prompt). ckutio.c, 27 Aug 2005. ===
- Backed off from rejecting a file because its announced size overflows a
- long. Now instead, I set the file size to -2 (a negative size means the
- size is unknown, but we have always used -1 for this; -2 means "unknown
- and probably too big"). In this case, the f-t display says:
- File Size: POSSIBLY EXCEEDS LOCAL FILE SIZE LIMIT
- then the user can interrupt it with X or whatever, or can let it run
- and see if maybe (as in the case of Mac OS X) it will be accepted
- anyway. This way, we skip all the bogus calculations of percent done,
- time remaining, etc. ckcfn3.c, ckuusx.c, 27 Aug 2005. ===
- Discovered that VMS C-Kermit on Alpha and IA64 is a 32-bit application;
- sizeof(long) == sizeof(char *) == 4. Tried adding /POINTER_SIZE=64 to
- VMS DECC builds on Alpha and IA64, but the results aren't great. Tons
- of warnings about pointer size mismatches between Kermit pointers and
- RMS ones, and the executable doesn't run. It appears that access to
- long files would require a lot of hacking, similar to what's needed for
- 32-bit Linux. ===
- --- Dev.02: 27 Aug 2005 --- ===
- From Jeff, 28 Aug 2005.
- . Fix SSH GLOBAL-KNOWN-HOSTS-FILE / USER-KNOWN-HOSTS-FILE parsing, ckuus3.c.
- . Pick up K95STARTFLAGS from environment, ckuus4.c.
- . Fix some typos in command-line processing (-q), ckuus4.c.
- . Be sure to suppress herald if started with -q, ckuus7.c.
- . Fix ssh command-line switches, ckuusy.c.
- ===
- Eric Smutz complained that HTTP POST was adding an extraneous blank
- line, which prevented his application from successfully posting. RFC
- 2616 states (in Section 4.1):
- In the interest of robustness, servers SHOULD ignore any empty
- line(s) received where a Request-Line is expected. In other words, if
- the server is reading the protocol stream at the beginning of a
- message and receives a CRLF first, it should ignore the CRLF.
- Certain buggy HTTP/1.0 client implementations generate extra CRLF's
- after a POST request. To restate what is explicitly forbidden by the
- BNF, an HTTP/1.1 client MUST NOT preface or follow a request with an
- extra CRLF.
- This seems pretty clear. One section of code in http_post() (just above
- the postopen: label) was appending a CRLF to a buffer whose last
- already was terminated by CRLF, and then appended a second CRLF; thus
- two empty lines. I removed the second one. ckcnet.c, 28 Aug 2005. ===
- I looked into the 64-bitness of NetBSD, it seems to be like Linux and
- FreeBSD on 64-bit hardware, i.e. you just build it there and it works,
- at least on Alpha and AMD64, going back to NetBSD 1.4 or 1.5. But I
- don't have access to any of these for verification and documentation on
- the Web is scanty. ===
- Checked PeterE's complaint again of warnings in ckutio.c about
- parameter list of get[ug]id() and gete[ug]id(). When I "make hpux1100o"
- on HP-UX 11.11 (PA-RISC), there are definitely no warnings. He says the
- same thing happens on 10.xx, but I don't have access to that any more.
- I also did "make hpux1100o" on HP-UX 11.23 (11i v2) (PA-RISC), also no
- warnings. (Except in both cases, a warning about a comment within a
- comment in /usr/include/sys/ptyio.h). On HP-UX 11i v2 on Itanium,
- however, there are TONS of warnings, mostly of the "variable set but
- never used" kind. Also "dollar sign used in identifier". Tracking this
- last one down, I see it's complaining about code that's in #ifdefs for
- other platforms, such as Apollo Aegis. Is "aegis" defined in HP-UX 11i
- v2/IA64? No! (It would show up in SHOW FEATURES if it was.) Some phase
- of the compiler is complaining about code that it should be skipping
- (and that, in fact, it *is* skipping it because the build is
- successful). It's as if cc is running lint for me but not telling lint
- which macros are defined and which are not. ===
- Verified that 64-bit linking fails in the same way for HP-UX 11i v2 on
- both IA64 and PA-RISC. Sent a query to HP. ===
- Compiling ckcnet.c and ckcftp.c got the familiar sockopt-related
- warnings on HP-UX 11i v2; turns out it is just like Tru64 Unix in using
- an int for the length argument. Added another special case and the
- warnings went away. ckcnet.h, 28 Aug 2005. ===
- Added some stuff to SHOW FEATURES to see what kinds of macros are
- exposed (e.g. INT_MAX, LONG_MAX, LLONG_MAX, etc) and also show
- sizeof(long long) and sizeof(off_t). Building this code all over the
- place will give me an idea of how widespread these data types are, and
- to what extent I can tell whether they are available from clues in the
- header files. (At first glance, it appears that I'm not picking up
- <limits.h>, but adding an #include for it is just asking for trouble.)
- No complaints about long long or off_t from Solaris 9 or recent
- Linuxes. ckuus5.c, 28 Aug 2005. ===
- Fixed a warning in HP-UX 10 and 11 stemming from some old-style
- prototypes in ckutio.c for get[re][gu]id(). ckutio.c, 29 Aug 2005. ===
- Updated minix3 target from Andy Tanenbaum. makefile, 29 Aug 2005. ===
- PeterE confirms that "long long" and off_t are available in all HP-UX
- 10 and 11, and in HP-UX 9 on PA-RISC but not Motorola. 30 Aug 2005. ===
- Got 64-bit builds to work on HP-UX. According to my notes, John Bigg of
- HP said (in 1999) that HP-UX 10.30 and later require PA-RISC 1.1, and
- do not work on PA-RISC 1.0. But is PA 1.0 64-bit or what? Today, Alex
- McKale of HP said "The 64-bit binaries will work on all machines that
- have the same or later release of HP-UX (excluding PA-RISC 1.1
- machines)". Still need clarification... Maybe it's that all IA64 builds
- can be 64-bit but I need dual builds for PA-RISC. Meanwhile I started
- transfer of a 4GB+ file from Solaris to HP-UX 11i but it exceeded some
- quota on the HP long before it approached the 2G point. It failed
- cleanly and up until then it was working fine (numbers, stats, etc). 30
- Aug 2005. ===
- Support of large files in 32-bit builds began in 10.20. 64-bit
- application support began in 11.00, but not all machines that run 11.00
- support 64 bits. About long files, see HP /usr/share/doc/lg_files.txt.
- ===
- PeterE found that certain patterns can still make Kermit loop; example:
- if match T01011-00856-21-632-073 *[abc] { echo GOOD } else { echo BAD }
- if match T01011-00856-21-632-073 *[a-z] { echo GOOD } else { echo BAD }
- The minimum offending pattern is * followed immediately by an [xxx]
- construction, followed by anything else, including nothing. Previous
- versions of Kermit handled this one correctly, without looping (but
- failed certain matches that should have succeeded). The new section of
- code I added on 15 June, upon failure to match, advances the string
- pointer and backs up the pattern to the previous pattern, and starts
- again (recursively). However, there needed to be a corresponding check
- at entry for an empty target string. ckmatch(): ckclib.c, 12 Sep 2005.
- ===
- PeterE discovered that "kermit -y filethatdoesnotexit" gives an
- erroneous error message that names the user's customization, rather
- than the name given on the command line. doinit(): ckuus5.c, 12 Sep
- 2005. ===
- FREAD does not get an error if it tries to read a record or file or
- piece of file that is too big for its buffer. In particular, FREAD
- /SIZE:xxx seems to succeed even if less than xxx was read. It should
- fail unless, perhaps, it successfully read up to the end of the file.
- Furthermore, if xxx is bigger than the file buffer size, it should
- complain. The buffer is line[LINBUFSIZ], 32K. The lack of failure was
- due to code in dofile() that adjusted the given size silently if it was
- greater than the buffer size, which I removed, and also added a check
- when parsing the /SIZE: switch. dofile(): ckuus7.c, 12 Sep 2005. ===
- That still didn't help with FREAD /SIZE:n returning less than n bytes,
- even when they were available. That's because the underlying routine,
- z_in(), didn't check fread()'s return code, which is the number of
- bytes read. If fread() has smaller buffers, it needs to be called in a
- loop. z_in(): ckuus7.c, 12 Sep 2005. ===
- Flen() fails on strings of length 8192 or more. The limitation is in
- the callers of zzstring, which seem to be specifying an 8K buffer, in
- this case fneval(). The operable symbols are FNVALL (max length of
- value returned by a function) and MAXARGLEN (maximum length of an
- argument to a function). I changed both of these for BIGBUFOK builds to
- be CMDBL. Buffers can never be infinite, there has to be a limit. It's
- important to make everything work consistently within that limit, and
- to make something useful happen when the limit is exceeded. At this
- point, I can probably also increase the limits for modern 32-bit
- systems, and certainly for 64-bit ones. Also there's no point in
- worrying about 16-bit platforms any more; earlier C-Kermit versions can
- still be used on them if necessary. ckuusr.h, 12 Sep 2005. ===
- Special #ifdefs for finding resolv.h and nameser.h in MINIX3 from Andy
- Tanenbaum. ckcnet.c, 20 Sep 2005. ===
- PeterE noticed that ckmatch(), even though it works pretty well now,
- does a lot of extra and unnecessary recursion after determining the
- string and pattern do not match, at least when the pattern is of the
- form *[abc]. After several false starts I was able reduce this effect
- to a minor level (but not eliminate it all together) by changing a
- while loop into a do loop. ckmatch(): ckclib.c, 15 Oct 2005. ===
- Added -DNOLONGLONG to HP-UX 8.00 and earlier builds, and to
- Motorola-based HP-UX 9.00 builds. This is simply to inhibit the test
- for whether "long long" is supported by the compiler, since when it
- isn't, the module containing the test won't compile. makefile,
- ckuus5.c, 16 Oct 2005. ===
- Making ASKQ always echo asterisks is a bad idea, because when it
- doesn't echo, it's the perfect way to read silently from stdin, e.g. in
- a CGI script (INPUT can also be used for this but it's not as
- straightforward). So I put the default for ASKQ back to no echoing,
- then gave ASKQ its own switch table, which is the same as for ASK with
- the addition of an /ECHO:x switch, which tells what character to echo.
- ckucmd.c, ckuus[26].c, 17 Oct 2005. ===
- Fixed a bug in FTP GET /COMMAND filename commandname; it always dumped
- core dereferencing a null string (the nonexistent local asname).
- ckcftp.c, 17 Oct 2005. ===
- For docs: if you don't like the funny business that happens when you
- type an IF command at the prompt, use XIF instead and it won't happen.
- Also note that commands like "if xxx { echo blah } else { echo blah
- blah }" don't work when typed at the prompt; you have to use XIF for
- this. ===
- Back to ckmatch()... Under certain conditions (e.g. patterns like
- *[abc]) failure to match would not stop the recursion because the
- string and pattern arguments are on the stack, as they must be, so
- there was no way for level n-1 to know that level n had detected a
- definitive nonmatch and that no further attempts at matching were
- required. The right way to handle this is to recode the whole thing as
- coroutines, the cheap way out is with a global static flag. Works
- perfectly, in the sense that the match.ksc test results are identical
- to what they were before and the extra backing up and recursion are
- eliminated. (The Oct 15th fix wasn't really a fix, it broke a couple of
- cases.) ckclib.c, 20 Oct 2005. ===
- ckuus7.c(2987): warning #267: the format string requires additional
- arguments (in PURGE command); fixed 20 Oct 2005. ===
- From Andy Tanenbaum, final changes for MINIX3: #ifdef out the inline
- definitions for gettimeofday() and readlink(). ckutio.c, 23 Oct 2005.
- ===
- From Jeff: struct gss_trials initializers changed from gss_mech_krb5 to
- ck_gss_mech_krb5. ckcftp.c, 23 Oct 2005. ===
- From Jeff: some improvements to K95 GUI SHOW TERMINAL. ckuus5.c, 23 Oct
- 2005. ===
- Found and corrected some misplaced #ifdefs in shofeat(), ckuus5.c, 23
- Oct 2005. ===
- --- Dev.03 --- ===
- Fixed a compiler warning in a debug() statement in zzstring() by adding
- parens. ckuus4.c, 24 Oct 2005. ===
- Added -DNOLONGLONG to sv68r3v6 target, makefile, 25 Oct 2005. ===
- New makefile targets for HP-UX from PeterE to handle the 'long long'
- situation. 26 Oct 2005. ===
- From Jeff: changes to support OpenSSL 0.9.8, ck_ssl.h. ckcasc.h has had
- short names defined for ASCII control characters for 20-some years but
- now they are causing conflicts, so EM becomes XEM (also for OpenSSL
- 0.9.8). Changed K95's default terminal type from VT320 to VT220 because
- VT320 termcaps/terminfos are disappearing from Unix hosts: ckuus7.c.
- Reorganize the data-types section of SHOW FEATURES to add more macro
- tests for integral sizes and to provide for the proper printf
- formatting in order to allow the sizes to be output ("You are going to
- need to be careful because %llx is not supported on all platforms. On
- Windows, it is the same as %lx, 32 bits"): ckuus5.c, 26 Oct 2005. ===
- Defined NOLONGLONG ckcdeb.h for various old platforms where we know we
- are never going to need 64-bit ints (even if they support a long long
- datatype, chances are pretty slim they supported 64-bit file sizes).
- ckcdeb.h, 26 Oct 2005. ===
- PeterE noticed that GOTO targets can only be 50 characters long. This
- was by design, a long time ago, on the assumption that nobody would
- make longer labels. But in SWITCH statements, case labels can be
- variables that expand to anything at all. If we chop them off at 50, we
- might execute the wrong case. Changed the maximum label size to be 8K,
- and added code to dogoto() to check when a label or target is too long
- and fail, to prevent spurious GOTO or SWITCH results. ckuusr.h,
- ckuus[r6].c, 26 Oct 2005. ===
- Testing revealed there was still a problem with SWITCH case labels that
- were variables that expanded into long strings. Turns out that I was
- being too clever when I decided that, if the SWITCH macro was n1
- characters long and the case-label search target was n2 characters
- long, I only had to search the first n1-n2+1 characters of the macro
- definition. That was true before I allowed case labels to be variables,
- but not any more! Fixed in dogoto(): ckuus5.c, 26 Oct 2005. ===
- --- Dev.04 --- ===
- Dev.04 didn't actually contain Jeff's data-type changes to shofeat(), I
- think I saved the wrong buffer in EMACS... Fixed now. 27 Oct 2005. ===
- PeterE corrected a typo in the HP-UX 7.00 makefile target. 27 Oct 2005.
- ===
- PeterE had been reporting problems stress-testing the new SWITCH code,
- but only on HP-UX 9, primarily stack overrun. Turns out to be the HP-UX
- 9 optimizing compiler's fault. No optimization, no problems.
- PeterE found that even when dogoto() detects a string that is too long
- and fails, this does not stop SWITCH from producing a result, which can
- not possibly be trusted. Changed the part of dogoto() that handles this
- to not just fail, but also to exit the script immediately and return to
- top level. ckuus6.c, 28 Oct 2005. ===
- An idea popped into my head after having typed too many commands like
- "dir ck[cuw]*.[cwh]" to check the list of matching files, and then
- having to retype the same filespec in a SEND command: Why not unleash
- some unused control character such as Ctrl-K to spit out the most
- recently entered input filespec? It was easy, just a few lines in
- cmifi2() and gtword(), plus a couple declarations. To see all the
- changes, search for "lastfile" (all the new code is protected by
- #ifndef NOLASTFILE). ckucmd.c, 28 Oct 2005. ===
- I added a new variable \v(lastfilespec) that expands to the same last
- filespec, for use in scripts. ckuusr.h, ckuus4.c, 28 Oct 2005. ===
- The Unix version of C-Kermit failed to put anything in the session log
- if SET TERMINAL DEBUG ON. Rearranged the pertinent clause so logging
- happens independent of TERMINAL DEBUG. For now, since the user who
- noticed this wanted debug format to go into the session log, that's
- what I do. The alternative would be to just log the raw incoming stream
- as usual, or to add Yet Another SET Command to choose. ckucns.c, 11 Nov
- 2005. ===
- Fixed HELP INTRO text. ckuus2.c, 11 Nov 2005. ===
- Added NOLONGLONG for SV68. ckcdeb.h, 11 Nov 2005. ===
- --- Dev.05 --- ===
- Added a debug() statement in FTP secure_getbyte() to see what's going
- on with Muhamad Taufiq Tajuddin's 205-byte-per-second FTP/SSL
- downloads. ===
- --- Dev.06 --- ===
- Result: nothing, SSL_get_error() does not report any errors. Suggested
- testing SSL_read()'s return code, if 0 don't update the screen.
- Created a new data type CK_OFF_T in ckcdeb.h that will eventually
- resolve to whatever each platform uses for file sizes and offsets.
- ckcdeb.h, 17 Nov 2005. ===
- Made a new library routine ckfstoa() that converts a file size or
- offset to a string. This is to solve the problem with having to use
- different printf() formats for different representations of file size
- (int, long, long long, off_t, signed, unsigned, etc). Replaced a few
- printf("%l",size) with printf("%s",ckfstoa(size)) with the expected
- results. This is just a start, the definitions will need adjustment for
- many platforms, variables need to be redeclared, and all the offending
- printf's (and printw's) will have to hunted down and converted.
- ckclib.[ch], ckuus4.c, 17 Nov 2005. ===
- Built a minimal version on Linux with: make linux "KFLAGS=-DNOLOCAL
- -DNOICP -DNOCSETS -DNODEBUG" Worked fine, result was 260K on i686. 21
- Nov 2005. ===
- Discovered that Kermit's date parser, contrary to the documentation,
- failed to handle strings like "Wed, 13 Feb 2002 17:43:02 -0800 (PST)",
- which are commonly found in email. This was because of an overzealous
- and misguided check in the code; once removed, all was well. ckucmd.c,
- 26 Nov 2005. ===
- Added a new format code 4 to \fcvtdate() to emit asctime() format, used
- in BSD-format email message envelopes (i.e. the "From " line).
- shuffledate(), ckucmd.c, ckuus[24].c, 26 Nov 2005. ===
- Added a new function \femailaddress(). Given a From: or Sender: header
- line from an RFC2822-format email address, extracts and returns the
- actual email address, such as kermit@columbia.edu. ckuusr.h,
- ckuus[42].c, 26 Nov 2005. ===
- Using the new functions, I wrote a script to fetch mail from a POP3
- server over a TLS connection. But the line-at-a-time input (needed for
- changing line terminators and byte-stuffing text lines that start with
- "From ") is slow, 17 sec to read 29 messages totaling 175K. ===
- Added INPUT /CLEAR so INPUT can be started with a clean buffer without
- requiring a separate CLEAR INPUT command. ckuusr.h, ckuus[r24].c, 27
- Nov 2005. ===
- One thing that INPUT was never able to do well was read and save the
- complete incoming data stream. That's because, while waiting for its
- target, the buffer might overflow wrap around. Yet there was never a
- way to tell it to stop when its buffer fills up and let me save it. I
- added a /NOWRAP switch that does this. If the buffer fills up before
- any other completion criterion is met, INPUT returns failure, but with
- \v(instatus) set to 6 (the next available instatus value). Thus a
- program that wants to read and save (say) an email message from a POP
- server, which could be any length at all, and which terminates with
- <CRLF>.<CRLF> could do this:
- set flag off
- while open connection {
- input /nowrap 10 \13\10.\13\10 # Wait for <CRLF>.<CRLF>
- if success {
- frwrite /string \%o {\freplace(\v(input),\13\10.\13\10,\13\10)}
- set flag on
- break
- } else if ( == \v(instatus) 6 || == \v(instatus) 1 ) {
- frwrite /string \%o {\v(input)}
- continue
- }
- break
- }
- if flag (handle success)
- Note carefully the braces around the FWRITE text; without them,
- trailing spaces would be lost. ===
- Previously the only way to INPUT an entire data stream without losing
- anything (assuming it was ordinary lines of text that were not "too
- long"), was line-by-line:
- while open connection {
- input /clear 10 \13\10
- if fail break
- if eq "\v(input)" "$ \13\10" break
- fwrite /string \%o {\freplace(\v(input),\13\10,\10)}
- }
- The new code is 3 times faster using the default INPUT buffer length of
- 4K. Raising it to 16K makes it 3.6 times faster (not worth it).
- Changing the POP3 script to use INPUT /NOWRAP makes it about twice as
- fast (it does more; it has to do all the byte-stuffing and unstuffing).
- 27 Nov 2005. ===
- Changed ssl_display_xxx() to just return if SET QUIET ON. Otherwise
- there is no way to suppress the messages. Also protected a previously
- unprotected printf("[SSL - OK]\r\n"); by if ( ssl_verbose_flag ).
- ck_ssl.c, 28 Nov 2005. ===
- Discovered that FOPEN /APPEND doesn't work if the file doesn't exist.
- It uses cmiofi() which is a super-hokey front end to cmifi2(). I had
- code to call it but for some reason it was commented out, with a note
- to the effect it didn't work. I uncommented it but that didn't help
- much. So I wrote an entirely new cmiofi() that works exactly as it
- should, using chained FDBs, _CMIFI to _CMOFI (I think the original
- cmiofi() predated chained FDBs). ckuus7.c, ckucmd.c, 29 Nov 2005. ===
- Getting rid of the awful hacks required to call cmiofi() meant I also
- had to change the EDIT command, which is the only other place where
- it's used. Unfortunately now it's no longer possible to give EDIT
- without a filename (to just start an empty editor) but I doubt anyone
- will notice. ckuusr.c, 29 Nov 2005. ===
- IF KERBANG didn't always work right. If a kerbang script TAKEs another
- kerbang script, the second one should have IF KERBANG false, but it
- didn't. Added a check for \v(cmdlevel) == 1. Now you can write a
- wrapper that runs a kerbang script in a loop, and the latter can use IF
- KERBANG to know whether to EXIT (if called at top level) or END (if
- called by another script, thus allowing -- in this case -- the loop to
- continue). ckuus6.c, 29 Nov 2005. ===
- Changed \flop() and flopx() functions to take a third argument, a
- number signifying at which occurrence of the break character to lop,
- so:
- \flopx(sesame.cc.columbia.edu) = edu
- \flopx(sesame.cc.columbia.edu,,2) = columbia.edu
- ckuus[24].c, 1 Dec 2005. ===
- Built OK on VMS 7.2-1 with MultiNet 4.4. Built with and without OpenSSL
- on Linux OK, ditto Solaris 9. Built OK on RH Linux AS4 on X86_64
- (64-bit); "show var fsize" (using new ckfstoa()) works OK there. Also
- Mac OS X 10.3.9 (32-bit), Tru64 UNIX 4.0F (64-bit), HP-UX 11iv2
- (64-bit) (picky new compiler spews out tons of useless warnings),
- FreeBSD 6.0 on ia64 (64-bit). ===
- --- Dev.07 --- ===
- Changed "make netbsd" to be a synonym for "make netbsd2" because the
- original netbsd target was ancient. Renamed it to netbsd-old. makefile,
- 3 Dec 2005. ===
- Updated INPUT and MINPUT help text. ckuus2.c, 3 Dec 2005. ===
- Discovered that on a SET PORT /SSL connection, Kermit treats incoming
- 0xff data bytes (e.g. sent from the POP server) as IACs and goes into
- Telnet negotiations. Jeff says "You will need to implement NP_SSLRAW
- and NP_TLSRAW that do the same as NP_TCPRAW but negotiate SSL or TLS as
- appropriate." This was not as easy as it sounded, because apparently a
- lot of the Telnet code is used by SSL and TLS even when Telnet protocol
- is not being executed. I wound up doing this as follows: I added
- /SSL-RAW and /TLS-RAW to the switch table. Rather than disable Telnet,
- they do exactly what the /SSL and /TLS switches do, but also set a
- special flag. This flag is checked in only two place: netclos() (to
- prevent Kermit from sending TELNET LOGOUT when closing the connection),
- and tn_doop() (to prevent Kermit from reacting to incoming IACs; it
- makes tn_doop() return(3), which means "quoted IAC", which causes the
- caller to keep the IAC as data). ckcnet.h, ckctel.h, ckctel.c,
- ckuus7.c, 4 Dec 2005. ===
- The INPUT command did not account for tn_doop() returning 3. Fixed in
- doinput(), ckuus4.c, 4 Dec 2005. ===
- Added another debug() statement in FTP secure_getbyte() to see what's
- going on with Muhamad Taufiq Tajuddin's 205-byte-per-second FTP/SSL
- downloads, plus new code to test SSL_read()'s return code (byte count);
- if 0 don't update the screen. ckcftp.c, 4 Dec 2005. ===
- --- Dev.08 --- ===
- Fixed a typo in the non-ANSIC definition of ckfstoa(). ckclib.c, 7 Dec
- 2005. ===
- Our Ctrl-C trap (the ON_CTRLC macro) wasn't working for kerbang files.
- Rearranged some code to make it work. ckcmai.c, 8 Dec 2005. ===
- Started converting code to use CK_OFF_T for file sizes and offsets, and
- all [s]printf's to replace "%ld" or whatever with "%s", and the size
- variable with a call to ckfstoa(). Since I haven't actually changed the
- definition of CK_OFF_T from what all the size variables were to begin
- with (i.e. long), it shouldn't do any harm. So far just ckcfn3.c 10 Dec
- 2005. ===
- An updated HP-UX 9.xx makefile target from PeterE to fix a core dump
- that happens on that platform due to insufficient resources. 14 Dec
- 2005. ===
- Added debug() statements to http_blah() routines to tell whether the
- connection is "chunked". There seems to be a bad performance problem.
- ckcnet.c, 14 Dec 2005. ===
- PeterE complained about ugly DIRECTORY error message, ?No files match -
- "{blah}". The braces are used internally in case the user typed more
- than one filespec. I changed the error message to remove them. Ditto
- DELETE. ckuus6.c, 15 Dec 2005. ===
- The problem with HTTP downloads is that Kermit always does
- single-character read() or socket_read() calls (or the SSL equivalent);
- see http_inc(). I added buffering code for non-SSL connections only but
- it's gross because it has to swap ttyfd and httpfd before calling
- nettchk(). I tried making a nettchk() clone that accepts a file
- descriptor as an argument but it didn't work because too many other
- routines that are invoked directly or implicitly by nettchk() (such as
- in_chk()) are still hardwired to use ttyfd. HTTP GETs are now 20 times
- faster on the local network (the improvement is less dramatic over a
- clogged Internet). ckcnet.[ch], 15 Dec 2005. ===
- --- Dev.09 --- ===
- HTTP file-descriptor swapping is not thread safe. Doing it right, of
- course, is a big deal, so for now I just don't define HTTP_BUFFERING
- for Windows. ckcnet.c, 15 Dec 2005. ===
- Noticed that HTTP not included in FreeBSD and OpenBSD builds. Fixed in
- ckcdeb.h, 22 Dec 2005. ===
- Fleshed out 32/64-bit data type definitions and changed struct zattr
- (file attribute structure) members length and lengthk to have the new
- CK_OFF_T type. Changed final arguments of debug() and tlog() to be the
- new LONGLONG type. ckcdeb.h, 22 Dec 2005. ===
- Changed ckfstoa() to return a signed number in string form, rather than
- an unsigned one. That's because off_t is signed (thank goodness). Added
- the inverse function, ckatofs() so we can convert file sizes and
- offsets back and forth between binary number and string. ckclib.c, 22
- Dec 2005. ===
- Changed Attribute Packet reader to convert incoming file size attribute
- with ckatofs() rather than atol(). ckcfn3.c, 22 Dec 2005. ===
- Converted debug(), tlog(), ckscreen(), etc, to handle potentially "long
- long" arguments by making their "n" argument CK_OFF_T. ckuusx.c,
- ckcdeb.h, 22 Dec 2005. ===
- Converted the rest of the source files to use CK_OFF_T for all file
- size and offset and byte-count related variables, and converted all
- references to these variables in printfs to go through ckfstoa(). Then
- I built it on Linux/i386 with:
- make linux "KFLAGS=-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
- which makes off_t be 64 bits and magically makes all the regular file
- APIs use 64-bit sizes and offsets without changing the API calls in the
- source code. It's going to be a lot of work to get through all the
- kinks but I was able to send a long file, do directory listings of long
- files, do \fsize(longfile), etc. When it sends a file, the length is
- shown correctly in the A packet. If the receiver does not support big
- numbers, it receives the file OK anyway, without showing the size, the
- thermometer, or percent done (and then will get an error when the file
- keeps coming after the 2G mark). Kermit 95 actually refuses long files
- for "Size", but only if the announced is less than 2^63 bytes. When
- today's Linux version receives a file, it shows the length correctly in
- the file-transfer display, as well as percent done, thermometer, etc.
- Also built this version on true 64-bit Linux, and it worked fine. Many
- files changed, 22 Dec 2005.
- For the record, this API is specified in X/Open's Single UNIX
- Specification Version 2, which is branded as UNIX 98. It is called
- Large File Support, or LFS, and was developed at the Large File Summit.
- ===
- It looks like the operative feature-test macro in glibc for
- transitional large file support is __USE_LARGEFILE64. So if this is
- defined, we can also supply _LARGEFILE_SOURCE and _FILE_OFFSET_BITS=64
- automatically for 32-bit Linux builds. But there's a Catch-22, you
- don't know if this is defined until you read the header files, but you
- have to define _LARGEFILE_SOURCE and _FILE_OFFSET_BITS before you read
- the header files. Maybe it's good enough to grep through <features.h>
- for __USE_LARGEFILE64. makefile, 23 Dec 2005. ===
- Checked this on true 64-bit Linux. The same symbols are defined in
- CFLAGS, but they do no harm; it builds without complaint and works
- fine. 24 Dec 2005. ===
- Built it on Red Hat Linux 6.1 from 1999. This picked up the long file
- support too. Guess 6.1 isn't old enough to not have it! Kermit seems to
- work OK on regular files but I don't have enough disk space to create a
- long file, and my bigfile.c program (which creates a long file
- containing only 1 byte) doesn't work ("fseeko: invalid argument"). It
- looks like parts of this API were visible in Linux before they were
- actually working. 24 Dec 2005. ===
- Converted all fseek() and ftell() to macros that expand to fseek() and
- ftell() or fseeko() and ftello() depending on whether _LARGEFILE_SOURCE
- is defined. ckufio.c, ckuus7.c, ckuusx.c, 24 Dec 2005. ===
- Made a CK_OFF_T version of cmnum(). It would be a very big deal to just
- change cmnum() to return a new type, so another idea is to rename
- cmnum() to something else, cmnumw(), change its result argument to
- CK_OFF_T, and then make a stub cmnum() to call it to get an int, then
- call cmnumw() explicitly any time we need a big number. ckucmd.c, 24
- Dec 2005. ===
- Calling cmnumw() directly requires changes to each routine that uses
- it. The INCREMENT and DECREMENT commands, for example, required changes
- to doincr(), varval(), and incvar(), and all references to them.
- ckuusr.[ch], ckuus[56].c, 24 Dec 2005. ===
- Calling cmnumw() in chained FDBs required defining a new function code,
- _CMNUW, adding a new member to the OFDB struct for returning wide
- results, and adding a new case to cmfdb(). ckucmd.[ch], 24 Dec 2005.
- ===
- Changed FSEEK and FCOUNT to use the new chained FDB interface, now we
- can seek and look past 2GB. ckuus7.c, 24 Dec 2005. ===
- Next come switches, which store their results in a struct stringint.
- This struct was defined in each module where it was used
- (ckuus[r367].c, ckcftp.c). I moved the definition to ckuusr.h and added
- a wval member, which can be referenced by any switch-parsing code that
- calls cmnumw(). 24 Dec 2005. ===
- Changed SEND /CALIBRATE:n to allow big values of n. This makes it
- possible to test the protocol aspects of long-file transfer without
- actually having a long file handy. ckuusr.c, 24 Dec 2005. ===
- SEND /SMALLER-THAN:n, SEND /LARGER-THAN:n, and and SEND /START:n also
- now allow large values of n. ckuusr.c, 24 Dec 2005. ===
- Changed the algebraic expression evaluator to use wide values.
- ckuus5.c, 24 Dec 2005. ===
- Fixed ckfstoa() to handle the case when n is negative and (0 - n) is
- also negative, which happens for numbers 2^(n-1) or greater, where n is
- the number of bits in the word size we're dealing with, e.g. 64, in
- which case 2^63 has its sign bit set so seems to be negative. In such
- cases, ckfstoa() returns "OVERFLOW" instead of a numeric string. We'll
- have to see how this plays out but I think it's better to cause a parse
- error and stop things dead than to return a spurious number. ckclib.c,
- 24 Dec 2005. ===
- Converted the S-Expression handler to use wide integers. ckuus3.c, 24
- Dec 2005. ===
- Took all the LONGLONG stuff out of ckcdeb.h, we don't need it.
- All of these changes result in 64-bit arithmetic (more or less) on
- 32-bit Linux, as well as on true 64-bit platforms.
- Rebuilt today's code on Solaris 9 in the 32-bit and 64-bit worlds, on
- Red Hat 6.1, Red Hat AS4.2. I haven't bothered trying a 32/64 hybrid
- build for Solaris, since I can build a pure 64-bit version there. Quick
- tests show the large-number arithmetic works OK in all cases except, of
- course, on pure 32-bit builds (unfortunately I can't find a running
- Linux system old enough to verify this for Linux, but it's true for
- other 32-bit platforms). 24 Dec 2005. ===
- Tried building a hybrid version on Solaris 9 after all since the LFS
- API is ostensibly the same as for Linux:
- make solaris9 "KFLAGS=-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
- It built smoothly and the resulting binary is 2.5MB compared to 3.4MB
- for the 100% 64-bit version. Looks like a keeper. For now, added
- solaris9lfs and solaris10lfs entries to the makefile but if these work
- on PCs we can make these the regular entries for Solaris 9 and 10. 27
- Dec 2005. ===
- Built on Mac OS X 10.4 with the regular target. It seems that in that
- case, off_t is 64 bits anyway. Noticed that a lot of stuff didn't work,
- like exponentiation in S-Expressions. Tried building it as above, which
- worked, and now CK_OFF_T is 64 bits instead of 32, but (^ 2 30) is
- still 2.0. In fact 2-to-the-any-power is 2.0. It seems that the Mac OS
- X version did not have FNFLOAT defined. It also seems that every test
- in dosexp() like:
- if (result != fpresult) fpflag++;
- should have been protected by #ifdef FNFLOAT..#endif /* FNFLOAT */ -- a
- double-ended break, as they say in the nuclear power industry.
- ckuus3.c, 27 Dec 2005. ===
- Added GREP /EXCEPT:pattern. ckuus[26].c, 27 Dec 2005. ===
- Fixed a problem with uninitialized pv[].wval (switch-parsing
- parameter-value) members that showed up on certain platforms or with
- certain compilers. Now the Mac OS X 10.4 version works. ckuus[r367].c,
- ckcftp.c, 28 Dec 2005. ===
- Built on Unixware 7.1.1, a pure 32-bit build, seems fine. Rebuilt on
- Red Hat AS 4.2 just to make sure I didn't break anything, it's OK. No
- testing on HP-UX, etc, because HP testdrive file system is full, can't
- upload anything. 29 Dec 2005. ===
- Commented out the SHOW FEATURES section that displays constants like
- INT_MAX, CHAR_MAX, etc, because printing each value in the appropriate
- format is too tricky, and we don't need them anyway. ckuus5.c, 29 Dec
- 2005. ===
- Updated ckvfio.c to use CK_OFF_T for the relevant variables. Built and
- tested on VMS/Alpha 7.2: file transfer in remote mode; making a Telnet
- connection and then local-mode file transfer; S-Expressions, all OK.
- Also built a no-net version OK. 29 Dec 2005. ===
- Built and tested on Red Hat AS4 AMD X86_64, used it to upload new
- sources to FreeBSD 4.11. Built on FreeBSD 4.11/i386. Here's another one
- where off_t is 64 bits, even though long is 32 bits. But it seems to
- work ok, not sure why, when CK_OFF_T is 32 bits. There is no
- _LARGEFILE_SOURCE stuff in the header files. 29 Dec 2005.
- Built on Mac OS X 10.3.9 using the new macosx10.4 target to pick up
- LFS. Works fine.
- Built on Red Hat Linux 4WS on IA64 (64-bit). Now this one is odd,
- stat() fails on big files. It happens also if I use the "linuxnolfs"
- target, which does not define _USE_LARGEFILE or _FILE_OFFSET_BITS=64.
- DIRECTORY BIGFILE shows the size as -1, but if "log debug", it says "no
- files match", i.e. different behavior, observer effect. I hate when
- that happens.
- Let's see if that's an anomaly... Built on Tru64 Unix 4.0F (64-bit
- Alpha). It sees long files just fine. Rebuilt and checked on x86_64
- again... fine. OK, let's not worry about IA64 yet.
- Another small fix to the HP-UX 9.0 target from PeterE. makefile, 29 Dec
- 2005. ===
- ---Dev.10--- ===
- Code adjustments from Jeff, mainly to the SSL and TLS Raw mode code
- from several weeks ago, plus changing some data types in the security
- code to CK_OFF_T, plus a different data type for CK_OFF_T for K95
- because Windows size_T isn't signed. This presumably will allow
- large-number arithmetic but it will not give large file access because
- that will require replacing all C library file i/o calls (esp. in
- ckofio.c) with native Windows APIs. Build on Solaris 9 with and without
- SSL and on Linux RH AS4.2 with and without SSL. ck_crp.c, ck_ssl.c,
- ck_ssl.h, ckcdeb.h, ckcftp.c, ckcmai.c, ckcnet.c, ckcnet.h, ckctel.c,
- ckuat2.h, ckuus4.c, ckuus7.c, ckuusr.c, 30 Dec 2005. ===
- It was reported that WRITE SESSION always returned a failure status,
- even when it succeeded. The problem was that Unix versions of zsout()
- and zsoutl(), for the session log only, were using write() and
- returning write()'s return code, which is different from what zsout()
- and zsoutl() are documented to return. Also plugged a couple potential
- holes in zsoutx() that I noticed while I was in the neighborhood.
- ckufio.c, 30 Dec 2005. ===
- Added FSEEK /FIND:pattern. This form of FSEEK accepts all the other
- switches and arguments and performs the desired seek. Then, if the seek
- was successful, it starts from that point and reads through the file,
- line by line, searching for the first line that contains the given
- string or matches the given (unanchored) pattern and, if found, sets
- the file pointer to the beginning of that line. Useful, e.g., for very
- long timestamped logs, where you want to start processing at a certain
- date or time; searching for a particular string is much faster than
- doing date comparisons on each line. ckuus[27].c, 30 Dec 2005. ===
- It was annoying me that FILE STATUS (FSTATUS) required a channel number
- to be given even if only one file was open, so I supplied the correct
- default in that case. ckuus7.c, 30 Dec 2005. ===
- INPUT /NOWRAP, added recently, is used for efficiently copying the
- INPUT stream intact, but it's not good for matching because if the
- INPUT target is broken between the end of the previous buffer and the
- beginning of the next one, the context is lost and the match does not
- occur. I thought of several ways around this, but they all involve
- saving a huge amount of context -- old input buffers, the arrays of
- target strings and corresponding match positions, etc. The alternative
- is fairly simple but it's not transparent to the user. Here's what I
- did in a POP script:
- .eom := "\13\10.\13\10"
- set flag off # FLAG ON = success
- while ( open connection && not flag ) {
- .oldinput := \fright(\v(input),8) # Save tail of previous INPUT buffer
- input /clear /nowrap 4 \m(eom) # Get new INPUT buffer
- if success { # INPUT matched - good
- .s := {\freplace(\v(input),\m(eom),\13\10)}
- set flag on
- } else { # No match
- .s := \v(input) # Check if target crossed the border
- .oldinput := \m(oldinput)\fsubstr(\v(input),1,8)
- if \findex(\m(eom),\m(oldinput)) set flag on
- }
- ...
- }
- I think this will be easier to explain than any dangerous and grotesque
- magic I might put into doinput() itself. For now, added a few words
- about this to HELP INPUT. ckuus2.c, 30 Dec 2005. ===
- Back to the pattern matcher. Noticed that "IF MATCH index.html
- [a-hj-z]*" succeeded when it should have failed. In ckmatch(), the
- clist section needed one more clause: it can't float the pattern if an
- asterisk does not occur in the pattern before the clist. This change
- fixes the problem without breaking any other cases that weren't already
- broken, most of which involve slists, i.e. {string,string,string,...}.
- ckclib.c, 30 Dec 2005. ===
- Tried FSEEK /FIND: on a largish file (over 100,000 lines), using it to
- seek to a line near the end. It took 0.756 seconds, compared with Unix
- grep, which did the same thing in 0.151 sec. That's because C-Kermit is
- using ckmatch(). But if the search target is not a pattern, it should
- be a bit faster to use ckindex(). Yup, 0.554 sec, a 36% improvement.
- Can't expect to compete with grep, though; it's highly tuned for its
- single purpose. ckclib.[ch], ckuus7.c, 1 Jan 2006. ===
- Updated visible copyright dates to 2006: ckcmai.c, ckuus2.c, ckuus5.c,
- 1 Jan 2006. ===
- Noticed that NetBSD 2.0.3 has 64-bit off_t, and that _LARGEFILE_SOURCE
- is mentioned in <stdio.h>. Tried building Kermit with _LARGEFILE_SOURCE
- added to CFLAGS, it's good. Added it to the netbsd target. makefile, 1
- Jan 2006. ===
- Fixed typo, #ifdef CK_NOLONGLONG in ckuus5.c should have been #ifndef
- CK_LONGLONG (which, it turns out, we don't use anyway). 2 Jan 2006. ===
- Observed that FreeBSD 4.x has a 64-bit off_t, but does not use the
- _LARGEFILE_SOURCE convention. Reasoning that all versions of FreeBSD
- have off_t (I was able to check back to FreeBSD 3.3), I simply #define
- CK_OFF_T to be off_t in ckcdeb.h within #ifdef __FreeBSD__ .. #endif.
- Another one down. This can be done for any platform that is guaranteed
- to have off_t. Turns out FreeBSD 3.3 has 64-bit off_t too. 2 Jan 2006.
- ===
- OpenBSD, same as FreeBSD. Also, added OS-version-getting thing to
- makefile target for the program herald, as in the other BSDs. Built on
- OpenBSD 2.5 from 1998, it has 64-bit off_t too. ckcdeb.h, makefile, 2
- Jan 2006. ===
- Dumping the command stack every time there's an error is really too
- much. I added SET COMMAND ERROR-DISPLAY {0,1,2,3} to set the verbosity
- level of error messages. Only level 3 dumps the stack. ckuus[235].c, 2
- Jan 2006. ===
- Built on HP-UX 11.11 with _LARGEFILE_SOURCE and _FILE_OFFSET_BITS=64.
- The result works fine as far as I can tell. It sees big files, it can
- open them, seek to positions past the 2^31 boundary. It can send large
- files. It can do large-number arithmetic (^ 2 62). The only problem is
- that during compilation, every single modules warns:
- cc: "/usr/include/sys/socket.h", line 504: warning 562: Redeclaration of
- "sendfile" with a different storage class specifier: "sendfile" will have
- internal linkage.
- cc: "/usr/include/sys/socket.h", line 505: warning 562: Redeclaration of
- "sendpath" with a different storage class specifier: "sendpath" will have
- internal linkage.
- These warnings should be perfectly harmless since they are not coming
- from C-Kermit code, nor does C-Kermit use either one of those
- functions. These warnings don't come out in HP-UX 11i v2, but on that
- one we get tons and tons of picky compiler warnings (variables set but
- not used, defined but not referenced, etc). A couple, however, turned
- out to be valid; one case of "expression has no effect", and two of
- "string format incompatible with data type" (I missed a couple
- file-size printfs).
- There were also numerous warnings about signedness mismatch or sign
- conversion of constants like IAC (0xff). Does the HP-UX Optimizing
- Compiler have a compiler flag to make all chars unsigned? Yes, +uc, but
- the man page says "Be careful when using this option. Your application
- may have problems interfacing with HP-UX system libraries and other
- libraries that do not use this option". Sigh, better not use it.
- After reviewing "HP-UX Large Files White Paper Version 1.4" and HP's
- "Writing Portable Code" documents, I added -D_LARGEFILE_SOURCE
- -D_FILE_OFFSET_BITS=64 to the hpux1000 target, which is the basis for
- all HP-UX 10.00 and later builds. Large files are available in HP-UX
- 10.20 and later. 10.00 and 10.10 were not real releases, and anyway
- these flags should be harmless there unless the large-file
- implementation was only partly done. Built OK on both PA-RISC and IA64,
- optimized and plain. makefile, 4 Jan 2006. ===
- Built on FreeBSD 6.0 on IA64. All OK except I got a warning about the
- argument passed to time() in logwtmp() in ckufio.c. This section had
- already been partially fixed; thus I put the improved version into
- #ifdef CK_64BIT, which is our newly available symbol that should be
- automatically defined for any true 64-bit build. ckufio.c, 4 Jan 2006.
- ===
- Finally got around to testing Jeff's changes to SSL/TLS RAW mode from
- December 30th against our POP server. It didn't work, couldn't log in.
- Tried backing off the ckctel.c changes first; that allowed login and
- communication, but it did not suppress activation of Telnet protocol
- whenever a 0xff byte arrived. Backed off the rest of the changes and
- now all is OK again. ckctel.c, ckcnet.c, ckuus7.c, 9 Jan 2006. ===
- Built on NetBSD 1.4.1 (1999), found that it did not like the large file
- assumption -- fseeko() and ftello() do not exist; added a clause to the
- netbsd target to check for fseeko and not define _LARGEFILE_SOURCE if
- not found. Oddly enough, off_t is 64 bits anyway, but it doesn't look
- like the APIs are half-done. For example, stat() uses off_t (64 bits)
- for the file length, but fseek() uses long (32 bits) and there is no
- 64-bit analog. Anyway the new netbsd target works on both 1.4.1 and
- 1.5.2 (no large files) and on 2.0.3 (large files). makefile, 9 Jan
- 2006. ===
- Built on QNX-32 4.25, which has no large file support. Got a few
- strange compiler (WatCom) warnings, but it built and runs OK. Noticed
- that file transfers into QNX over a Telnet connection can't use
- streaming, but that's nothing new to this version; same thing happens
- with C-Kermit 7.0. 9 Jan 2006. ===
- Built on IRIX 6.5. I didn't bother with large files there because it
- does not support the _LARGEFILE_SOURCE interface; you have to change
- all the APIs at the source level from blah() to blah64(). Seems to work
- fine as a 32-bit app even though its off_t is 64 bits. Tried a pure
- 64-bit IRIX 6.5 build but it dies in ckcnet.c when it hits SOCKOPT_T
- and GSOCKNAME_T with "The identifier 'socklen_t' is undefined". ===
- Looks like I no longer have access to SCO OSR5. ===
- Made a pure 32-bit build on SCO UnixWare 7.1.4, all OK. Found that this
- version also supports LFS, added it to the uw7 target. makefile, 9 Jan
- 2006. ===
- --- Dev.11 --- ===
- Evidently the HP-UX bundled (non-ANSI non-optimizing) compiler doesn't
- like long integers in switch expressions. Changed three examples of
- these in the S-expression code. ckuus3.c, 10 Jan 2006. ===
- A section of tstats() where GFTIMER isn't defined (e.g. on Motorola
- sv68r3v6) was garbled. Fixed in ckcfn2.c, 10 Jan 2006. ===
- A fix for setting 921600 bps on Linux from Paul Fulghum, Microgate
- Systems Ltd. ttgspd(): ckutio.c, 11 Jan 2006. ===
- Noticed that when I changed the compact substring notation code back on
- August 9th, I broke the ability to use arithmetic expressions within
- the brackets, which explains some rather odd behavior I saw with some
- of my scripts. Looking more deeply into this, I also see that all the
- parsers I have been using up to now for this, as well as for array
- bounds pairs, have been inadequate because they never allowed for
- nested constructions, such as a member of a bounds pair that itself was
- an array element, possibly with another array element as a subscript. I
- wrote a new routine for this, called boundspair(), which is like
- arraybounds() except it accepts an extra argument, an array of
- characters that can serve as bounds-pair delimiters, and it returns the
- pair separator that was encountered in another new argument. For the
- alternative substring notation for [startpos-endpos] I had to change
- the delimiter from '-' to '_' because '-' can be used in arithmetic but
- '_' is not a recognized operator. This is so I can parse, e.g. [a:b] or
- [a_b] in the same context, and then find out which form was used, e.g.
- \s(line[9:12]) or \s(line[9_12]); the first string is 4 bytes long, the
- second is 12. Everything seems to be OK now. \s(line[10]) gives
- everything starting at 10, but \s(line[10:0]) gives the null string.
- Bad syntax in the bounds pairs results in a null string; missing pieces
- of the bounds pair result in defaults that should be compatible with
- previous behavior. ckuus[45].c, ckuusr.h, 13 Jan 2006. ===
- Changed arraybounds() to call boundspair(). This was a rather drastic
- change, not strictly necessary, but I think I got all the kinks out.
- ckuus5.c, 13 Jan 2006. ===
- Changes from PeterE to the makefile for HP-UX 6 and 7, to accommodate
- bigger symbol tables, etc. 19 Jan 2006. ===
- Determined that SCO OSR5.0.6 (and earlier) do(es) not support large
- files. Don't know about 5.0.7. 30 Jan 2006. ===
- Created a new build target for SCO OSR6.0.0. Gets the exact 6.x.x
- version dynamically. Supports large files and big-number arithmetic via
- CK_OFF_T. The sockopt() family of functions changed the data types of
- some of their arguments since OSR5. It was already possible to define
- SOCKOPT_T and GSOCKNAME_T from the command line but I had to add code
- to also allow this for GPEERNAME_T too. ckcnet.c, makefile, 30 Jan
- 2006. ===
- Apparently, ever since C-Kermit 7.0 was released, it has never been
- possible to use a variable for the as-name in a RECEIVE command in
- Kermit 95. This is because evaluation of the as-name field was deferred
- until after we could check whether it might be a directory name (which,
- in Windows, could start with a backslash). This little bit of magic was
- not a good idea, magic hardly ever is. I changed the code to evaluate
- both as-name fields in the normal way. If they want to receive to a
- directory called "\%1", they'll just have to spell it differently. The
- workaround is to turn the whole command into a macro and evaluate it
- before executing it, e.g.:
- assign xx receive /as-name:\%1
- do xx
- ckuus6.c, 1 Feb 2006. ===
- Built OK on FreeBSD 6.1 on AMD64. Adjusted some copyrights and date
- stamps. ckcmai.c, makefile, 8 Feb 2006. ===
- --- Dev.12 --- ===
- Fixed a signed/unsigned char warning in the new boundspair() calling
- code in the compact substring notation handler. ckuus4.c, 9 Feb 2006.
- ===
- Removed a spurious extra linux+openssl label from the makefile, added
- solaris10g_64 synonym. 9 Feb 2006. ===
- Satisfied myself that LFS is OK on Solaris 10 i386, and I'm going to
- assume it's also OK on Solaris 9. Made LFS standard for all Solaris 9
- and 10 builds (including the secure ones) except the explicitly 64-bit
- ones, and made the provisional solarisXXlfs targets into synonyms.
- makefile, 9 Feb 2006. ===
- --- Dev.13 --- ===
- Further attempts at SSL/TLS message suppression when QUIET is ON.
- ck_ssl.c, 16 Feb 2006. ===
- From J.Scott Kasten: (quote...) I just uploaded a patch to
- /kermit/incoming. The file name is "jsk-patch-for-cku211.diff". I have
- also included the patch as ASCII text in this email below. This patch
- may be applied to the cku211.tar.gz source code via:
- cd cku211, patch -p1 <../jsk-patch-for-cku211.diff
- The patch adds 4 new build targets:
- netbsdwoc - a stripped no curses target for iksd used.
- netbsdse - security enhanced target with srp, ssl, and zlib.
- irix65gcc - build on SGI Irix 6.5 platform using gcc.
- irix65se - security enhanced target with srp, ssl, and zlib.
- The patch fixes one build target:
- irix64gcc - The "-s" option is not supported by gcc under Irix.
- I thank all of you in the Kermit Project for such a fine utility. I
- recently had to get a 16 MB file overseas across a spotty
- communications link to repair a computer remotely. Kermit was the only
- thing that could do the job, so I wanted to contribute these patches
- back to the mainstream to say thanks. This digitally signed email is a
- binding contract that officially assigns the rights to the source code
- patch (shown below) that I developed to the Kermit Project at Columbia
- University. (...end quote) ck_ssl.c, makefile, 23 Feb 2006. ===
- Changed the new NetBSD target names to be consistent with the
- conventions used in most other targets:
- netbsdwoc -> netbsdnc
- netbsdse -> netbsd+ssl+srp+zlib
- irix65se -> irix65+ssl+srp+zlib
- and removed old, now superfluous, NetBSD targets (old-netbsd, netbst15,
- netbst16), leaving synonym labels in their place. Also updated
- (crudely) the Linux target variations (curses instead of nocurses, no
- curses at all) to be (appropriately modified) copies of the current
- linux target. It would be nicer to combine them, but this gets the job
- done. makefile, 23 Feb 2006. ===
- --- Dev.14 --- ===
- Fixed the HELP command when used with tokens like @, ^, #, and ;. The
- first two had been omitted from the table. The second two required a
- new path into the guts of the parser, since comments are normally
- stripped at a very low level. ckuus[r2].c, ckucmd.c, 24 Feb 2006. ===
- Built on AIX 5.1 ("make aix51") without incident. Then I tried:
- make aix51 "KFLAGS=-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
- This had no effect. I found the relevant document ath the IBM website.
- It says to use -D_LARGE_FILES instead. I added this to the AIX 4.2
- target since (a) IBM says large files are supported by AIX 4.2 and
- later, and (b) all Kermit AIX targets past 4.2 use the 4.2 one. Plus a
- clause to make sure CK_OFF_T is defined appropriately. ckcdeb.h,
- makefile, 6 Mar 2006. ===
- Added a 32-bit aix51+openssl target. Builds OK, works fine (tested
- against our SSL POP server). Tried I tried adding -D_LARGE_FILES. It
- seems to work fine, so we'll keep it. Cleaned up the other aix5blah
- entries a bit also. makefile, 6 Mar 2006. ===
- Fixes from J. Scott Kasten to the IRIX 6.4 and 6.5 makefile targets.
- They were badly wrong. makefile, 6 Mar 2006. ===
- The reason Kermit was looping on directories in IRIX was a classic
- "double-ended break". The makefile targets failed to define DIRENT so
- Kermit was open/read on directories rather than opendir()/readdir().
- But then it was also failing to account for the fact that read() would
- return -1 on error. The makefile fix adds -DDIRENT, and the read() case
- in traverse() now properly terminates its loop on error. ckufio.c, 6
- Mar 2006. ===
- --- Dev.14 --- ===
- In response to a complaint that C-Kermit would not build on HP-UX 11
- with OpenSSL, I tried it myself on both 11.11/PA-RISC and 11i
- v2/Itanium. It built OK on both but I had to add a new target
- (hpux1000o+openssl-nozlib) for no Zlib since these boxes did not have
- it installed. makefile, 9 Mar 2006. ===
- Added OpenSSL version number display to SHOW FEATURES. ckuus5.c, 9 Mar
- 2006. ===
- Gavin Graham noticed that FTP [M]GET /DELETE /MOVE-TO: was rejected
- with "?Sorry, /DELETE conflicts with /MOVE or /RENAME". This check
- belongs in the PUT code but not in the GET code. Commented it out and
- tested the result. The combination is now accepted but then Kermit
- refuses the incoming file as if it had been given a /SMALLER-THAN: or
- /LARGER-THAN: switch, which it didn't happen. Turns out there was one
- more place where I wasn't initializing the new "wide int" member of the
- switch-parsing pv[] struct. Once this was fixed, the /MOVE-TO part
- still didn't work. Turned out the /DELETE case was part of a long
- if-else-if-else- chain, which effectively made /DELETE and /MOVE-TO: or
- /RENAME-TO: mutually exclusive. Fixed this, now it works fine.
- ckcftp.c, 13 Mar 2006. ===
- Got access to AIX 5.3, built there, all OK, including large files. 13
- Mar 2006. ===
- --- Dev.16 --- ===
- Patches from Mark Sapiro to suppress getsockopt() and getsockname()
- warnings in Mac OS X. ckcnet.[ch], 18 Mar 2006. ===
- In response to a complaint from Clarence Dold, tried "make redhat9"
- (which is the rather dated target that tried to include all forms of
- security) on RH Linux AS4.3, it failed miserably. I made a new makefile
- target, removing Kerberos IV and got a lot farther. But then in
- ckcftp.c, the following struct definition:
- struct {
- CONST gss_OID_desc * CONST * mech_type;
- char *service_name;
- } gss_trials[] = {
- { &ck_gss_mech_krb5, "ftp" },
- { &ck_gss_mech_krb5, "host" },
- };
- refers to a variable, ck_gss_mech_krb5, that is not defined anywhere.
- Up above, however, is a static definition for gss_mech_krb5, so I
- changed the struct definition to match. Next, in ckuath.c, the compiler
- could not find the com_err.h file. Turns out in Linux this is in a
- subdirectory, et, so we have to add a -I clause to the makefile target
- for this. Made a target for Linux+SSL only. Made a target for
- Linux+Krb5 only; this required moving an #ifdef in ckuus7.c to prevent
- an unguarded reference to SSLEAY_VERSION. New targets: linux+krb5+ssl,
- linux+krb5, linux+krb5. ckcftp.c, ckuus7.c, makefile, 27 Mar 2006. ===
- New targets of HP-UX 10/11 with OpenSSL from PeterE. makefile, 27 Mar
- 2006. ===
- Added large file/integer support to SHOW FEATURES. ckuus5.c, 27 Mar
- 2006.
- Built OK on Solaris 9 and 10 with gcc (someone was complaining that
- this didn't work, but that was 8.0.211).
- Started build on a Sun 3/80 mc68030 with NetBSD 2.0 and gcc 3.3.3. But
- it died with an assembler error in ckcfn2.c (compiler bug). 27 Mar
- 2006. ===
- --- Dev.17 --- ===
- NebBSD 2.0 build completed by turning off optimization on ckcfn2.c
- ("KFLAGS=-O0"). Result supports 64-bit ints and, presumably, large
- files. uname -p = "m68k", -m = "sun3". 29 Mar 2006. ===
- Corrected an omission in applying PeterE's updates to the HP-UX
- targets. makefile, 28 Mar 2006. ===
- solaris2xg+krb5+krb4+openssl+shadow: ===
- Tried resurrecting the solaris2xg+krb5+krb4+openssl+shadow target. It
- asks to link with libdes but there is no libdes. Removed -ldes from the
- target, now at least it builds and runs wart. The compilation blows up
- in ckcftp.c for missing header files:
- ckcftp.c:462: kerberosIV/krb.h: No such file or directory
- ckcftp.c:500: gssapi/gssapi_generic.h: No such file or directory
- ckcftp.c:501: gssapi/gssapi_krb5.h: No such file or directory
- Got a bit farther by adding appropriate -I's and -L's to KFLAGS but it
- still dies compiling (or linking?) ckcftp.c, but it doesn't say exactly
- why. OK, deferred. ===
- Added SET SEXPRESSION TRUNCATE-ALL-RESULTS { ON, OFF }. This can be
- used for force integer arithmetic in any kind of calculation that
- requires it, such as date calculations. This is a global setting, not
- on any kind of stack. Also, updated SHOW SEXP and added HELP SET SEXP
- which wasn't there before. ckuus[23].c, 30 Mar 2006. ===
- To make the RENAME command a bit more useful, need to add some
- switches. But it shares a switch table, qvswtab[], with some other
- commands. Broke this off into its own switch table. ckuus6.c, 17 Apr
- 2006. ===
- Added RENAME switch values that can be used in the same table with the
- DELETE switch values, which are shared by many commands. ckuusr.h, 17
- Apr 2006. ===
- Discovered that the RENAME command could be entered without any
- arguments and it would still succeed. Fixed in dorenam(): ckuus6.c, 17
- Apr 2006. ===
- Added parsing for RENAME /UPPER:option (to uppercase the file name(s)),
- /LOWER:option (to lowercase), and /REPLACE:{{s1}{s2}} (to do string
- replacement on the filename(s)), but not the semantics. When any of
- these switches is given, the target ("to") name is not parsed; they act
- on the source name. The /LOWER: switch takes keyword args to specify
- whether it should act only only files that have all UPPER case latters,
- or on ALL files (i.e., including files with mixed-case names);
- similarly for the /UPPER: switch. There is some creative parsing
- allowing these to be given with or without a colon and keyword
- argument, which works fine except if you include the colon but no
- argument, execute the command (which works fine), and then recall the
- command. I haven't yet decided about the interaction among these
- switches. Clearly if /UPPER is given after /LOWER, it overrides. But if
- /UPPER (or /LOWER) is given with /REPLACE, what should happen?
- ckuus6.c, 17 Apr 2006. ===
- Filled in actions for RENAME /UPPER: and /LOWER: for the single file
- case, and tested all combinations of switch values and filename
- configurations. Once that was OK, moved the code out into a separate
- routine, renameone(), and then called it from both the single-file case
- and the multifile case. ckuus6.c, 19 Apr 2006. ===
- Added RENAME /SIMULATE. Filled in the code for string replacement,
- needs testing. ckuus6.c, 20 Apr 2006. ===
- Changed /REPLACE options to allow a negative number to specify an
- occurrence from the right, so -1 means the last occurrence, -2 means
- the next-to-last, etc. ckuus6.c, 24 Apr 2006. ===
- Added RENAME /COLLISION:{OVERWRITE,PROCEED,FAIL}. This is implemented
- but not tested. ckuus6.c, 24 Apr 2006. ===
- Worked on RENAME /COLLISION:FAIL. I decided it was less than useful to
- ...
- Added SET RENAME { COLLISION, LIST } to let user change default
- collision and listing actions. ckuusr.[ch], ckuus[36].c, 25 Apr 2006.
- ===
- Experimented with parsing for /CONVERT:cset1:cset2. The problem here is
- that there is no straightforward way for a switch to have multiple
- arguments. Or is there...? If I parse cset1 with cmswi() rather than
- cmkey(), it almost works; the only problem is that the character-set
- keywords don't have CM_ARG set, so they don't know to stop on, and
- ignore, a colon. If I make a copy of the table and set CM_ARG in the
- flags field for each keyword, it works fine: if I Tab in the first
- name, it fills itself out, supplies a colon, and waits for the second
- name. So in the code, the first time that RENAME /CONVERT is invoked, I
- put code to copy fcstab[] and set CM_ARG in each flags field. Works
- fine, and now we know how to make a switch that takes multiple
- arguments. ckuus6.c, 24 Apr 2006. ===
- I thought I had a function to convert the character set of a string but
- I don't, so actually implementing /CONVERT: will be difficult.
- Actually the parsing wasn't that easy either. It works OK
- interactively, but not in a TAKE file. To make a long story short, I
- had to change gtword() and cmkey2() to not require "/" at the beginning
- of a switch, and then to parse
- arguments-that-are-followed-by-other-arguments as if they were
- switches, so that they can end with colon rather than space. This might
- seem dangerous, but switches always have "/" at the beginning, so the
- check is superfluous. ckucmd.c, 26 Apr 2006. ===
- Back to /CONVERT... Once I was able to get the code to call cvtstring()
- I was able to debug it (at first it was skipping every second
- character). And now we have a general-purpose string-translating
- function we can call from anywhere. Requires that C-Kermit be built
- with Unicode support. ckuus6.c, 26 Apr 2006. ===
- Added SHOW RENAME. ckuusr.h, ckuus[r5].c, 26 Apr 2006. ===
- Conditionalized some Unix/Windows assumptions in renameone() so the
- code could work in VMS. ckuus6.c, 2 May 2006. ===
- Added RENAME /FIXSPACES to change all spaces in the filename(s) to
- underscore or any other character or string that is given. This is just
- a special case of RENAME /REPLACE:{{ }{x}} with easier syntax.
- ckuusr.h, ckuus6.c, 2 May 2006. ===
- Added an "all-but" control to the /REPLACE options:
- /REPLACE:{{.}{_}{~1}} means replace all but the first (this one works);
- /REPLACE:{{.}{_}{~-1}} means replace all but the last (this one not
- yet). ckuus6.c, 2 May 2006. ===
- Filled in the second one ("all but" the given occurrence). The
- algorithm is simply to reverse the three strings and then use the same
- code as we use in the left-right-case, and then unreverse the result.
- At first I used yystring() for this but yikes, what a bad design! So I
- made a better string-reversal routine, gnirts(), for this (luckily
- yystring() is only used in one place, for which its design is
- appropriate). ckuus6.c, 3-4 May 2006. ===
- Added code to handle the case where the file being renamed includes a
- path specification. In this case we separate the path, apply the
- renaming functions to the filename only, and then at the end rejoin the
- original filename with the path, and join the new name with same path
- or, if a destination directory was given, with that. ckuus6.c, 4 May
- 2006. ===
- Added HELP SET RENAME and updated HELP RENAME. ckuus2.c, 4 May 2006.
- ===
- "Tom Violin" (Tom Hansen) noticed that the first time you FOPEN a file,
- Kermit's memory consumption goes way up. In fact there's a warning to
- that effect in the code, where, upon first open, a potentially big
- array of potentially big structs is allocated. I rewrote the code to
- allocate each array member (struct ckz_file) as needed, i.e. when a
- file is opened, and to free it when the file is closed (or the open
- fails). This was actually quite a lot of work, which is why I didn't do
- it the first time around: every single "." had to be changed to "->".
- Every check for a valid channel first had to check if the channel's
- struct was allocated and every other reference to z_file[i]->anything
- had to be prechecked that z_file[i] was not a NULL pointer. Also I made
- some improvements to FILE STATUS, and I fixed FILE CLOSE to default the
- channel number if only one channel was open, as I did for FILE STATUS a
- while back. ckuus7.c, Cinco de mayo 2006. ===
- Ran my old BUILDS script that builds C-Kermit with about 100 different
- combinations of feature-selection switches. Fixed a few small glitches
- so now they all build OK (except can't do NOANSI builds any more on
- recent Linuxes because of varargs()). ckuus3.c, ckuus5.c, ckuus6.c,
- ckuus7.c, ckucmd.c, ckcfns.c, 6 May 2006. ===
- Fixed RENAME /LOWER and /UPPER, when given with no colon or argument,
- to default to ALL. ckuus6.c, 13 May 2006. ===
- Built on VMS 7.2-1, tested new RENAME command there; seems to be OK. 13
- May 2006. ===
- --- Dev.18 --- ===
- I wanted to test large files against RESEND but I don't have access to
- any system that can run C-Kermit and that also has enough space for a
- large file. I created a "fake" large file on Linux (3G hole plus 1
- byte), and sent it over a localhost connection, and interrupted it
- repeatedly and then initiated a RESEND at the sender. In each case, it
- picked up where it left off. But before the 2G boundary was crossed the
- disk filled up. Inconclusive. 14 May 2006. ===
- PeterE got a warning in the new FILE OPEN code when building in HP-UX
- 9. I added a cast, built on HP-UX 11, no more complaint. However there
- are warnings about internal vs external bindings of sendpath and
- sendfile in every module. Too bad, these are not Kermit tokens, it's a
- conflict in HP's header files. Marc Sapiro doesn't see them; probably
- it's something on the HP testdrive site. ckuus7.c, 17 May 2006. ===
- Fixed the tru64-51b+openssl target -- the terminating doublequote of
- KFLAGS was missing -- and also the osf target, which failed to import
- the LIBS definition from whatever other target invoked it. Now the SSL
- build goes OK on Tru64 5.1B. Replaced x.tar.z in the download areas
- without declaring a new Dev number. The new one has a makefile with
- today's date. Software engineering at its best! makefile, 18 May 2006.
- ===
- Scott Kasten noted that the estimated-time-remaining calculation would
- go bonkers on LFS systems when RESENDing a large file. It looks like
- the shocps() and shoetl() functions escaped the CK_OFF_T conversion. I
- made what seemed to be the right adjustments, and then was lucky enough
- to find a computer that had enough free disk space for me to send a
- large file, interrupt it several times, resend it, all seems to be OK.
- 28 May 2006. Later Scott verified these changes independently for
- Linux, but the problems in IRIX remain.
- Patches from Scott Kasten for large files on IRIX 6.5: ckcdeb.h,
- makefile, 12 Jun 2006. ===
- --- Dev.19 --- ===
- Added a new function for dealing with JPGs and GIFs:
- \fpicture(filename,&a)
- returns 0 if file not recognized or can't be opened;
- returns 1 if landscape, 2 if portrait or square.
- If array given, element 1 is width, element 2 is height.
- ckuusr.h, ckuus4.c, 19 Jun 2006. ===
- Scott Kasten reports that the FTP client can transfer large files OK,
- at least in Linux, but has trouble with recovery:
- . Kermit takes a very long time to start the transfer, sometimes over
- 30 minutes. Suspect the ftp server is counting the bytes in a long file?
- Or maybe it's a text-mode transfer and it's counting the lines? Probably
- in response to Kermit's SIZE command.
- . The size shown in the FT display is wrong by a random amount. And of
- course so are the progress bar, percent done, and time remaining.
- . The file, however, is transferred correctly. REGET works correctly too.
- I tried setting up a test scenario locally but our Solaris FTP server
- does not support large files:
- FTP SENT [SIZE BIGFILE]
- FTP RCVD [550 BIGFILE: not a plain file.]
- FTP SENT [PASV]
- FTP RCVD [227 Entering Passive Mode (128,59,48,24,246,37)]
- FTP SENT [RETR BIGFILE]
- FTP RCVD [550 BIGFILE: Value too large for defined data type.]
- Created the same 3GB on a Tru64 Unix system that allows FTP access.
- Made the connection from C-Kermit on Solaris (32-bit with LFS):
- 16:46:12.908 FTP SENT [SIZE BIGFILE]
- 16:46:12.947 FTP RCVD [213 3000000001]
- Note that it takes less than half a second to get the reply. Now I
- start the download and then interrupt it at about 2%:
- 16:46:12.979 FTP SENT [TYPE I]
- 16:46:13.174 FTP RCVD [200 Type set to I.]
- 16:46:13.226 FTP SENT [PASV]
- 16:46:13.262 FTP RCVD [227 Entering Passive Mode (15,170,178,171,11,37)]
- 16:46:13.299 FTP SENT [RETR BIGFILE]
- 16:46:13.337 FTP RCVD [150 Opening BINARY mode data connection for BIGFILE..]
- 16:47:24.895 FTP RCVD [426 Transfer aborted. Data connection closed.]
- 16:47:24.934 FTP RCVD [226 Abort successful]
- 16:47:24.991 FTP SENT [MDTM BIGFILE]
- 16:47:25.028 FTP RCVD [213 20060706204458]
- Now I do a REGET:
- 16:51:55.321 FTP SENT [PASV]
- 16:51:55.357 FTP RCVD [227 Entering Passive Mode (15,170,178,171,11,43)]
- 16:51:55.394 FTP SENT [REST 122736640]
- 16:51:55.430 FTP RCVD [350 Restarting at 122736640. Send STORE or RETRIEVE..]
- 16:51:55.431 FTP SENT [RETR BIGFILE]
- 16:51:55.469 FTP RCVD [150 Opening BINARY mode data connection for BIGFILE..]
- This worked perfectly, as far as I can tell; the FT display picked up
- in the right place; the thermometer, percent done, and estimated time
- remaining were the same as when we left off last time. I did the same
- thing several more times, everything was OK. It would have taken a
- really long time to let this run to completion, but I think this
- demonstrates that Scott's symptoms are server-dependent. No changes. 6
- July 2006. ===
- Checked current code on VMS 8.2-1 on IA64 / UCX 5.5, builds fine. No
- changes. Updated listing at HP. 6 July 2006. ===
- Checked FTP GET of large file in ASCII mode against Tru64 FTP server.
- It was fine, and there was no delay in the server's response to our
- SIZE command (as there would be if it were scanning the entire file to
- count how many bytes would be required to send it in text mode). 7 Jul
- 2006. ===
- Tested FTP PUT big file against Tru64, OK. Ditto FTP RESEND big file:
- C-Kermit>resend BIGFILE
- PUT BIGFILE (binary) (3000000001 bytes)---> PASV
- 227 Entering Passive Mode (15,170,178,171,13,186)
- ---> SIZE BIGFILE
- 213 343211280
- ---> MDTM BIGFILE
- 213 20060707141243
- ---> APPE BIGFILE
- 150 Opening BINARY mode data connection for BIGFILE (128.59.59.56,45470).
- Made REPUT a synonym for RESEND. ckuusr.c, 7 Jul 2006. ===
- Added FTP REPUT and FTP RESEND since previously there was no
- FTP-prefixed command for recovering uploads, only the regular RESEND
- command, which might not have been obvious to people. ckcftp.c, 7 Jul
- 2006. ===
- Added help text for FTP RESEND and REPUT and amended RESEND help text.
- ckcftp.c, ckuus2.c, 7 Jul 2006. ===
- Changed name of \fpicture() to \fpictureinfo() and added help text. By
- the way, ImageMagick can do this too: identify -format "%w %h"
- dscf0520.jpg. The advantage of having it in Kermit is that not
- everybody has ImageMagick. ckuus[24].c, 7 Jul 2006. ===
- Changed the numeric comparisons = < > <= >= != to allow long integers
- by changing the data type to CK_OFF_T, etc. ckuus6.c, 7 Jul 2006. ===
- Noticed that \fkeywordvalue(foo=this is a string) only kept the first
- word. Fixed it to keep the whole definition. Also added \fkwvalue() as
- a briefer synonym. ckuus4.c, 7 Jul 2006 ===
- Sometimes we want to check if a file's status before we've FOPEN'd it,
- in which case the channel variable is likely to be empty and
- \f_status(\%c) would get an error. Making the obvious change didn't fix
- this, however. It turns out that the function evaluator failed to
- adjust argn (argument count) when trailing arguments were empty, and
- argn was being used in this case, and probably others, to test whether
- an argument existed. I added code to adjust argn to reflect the number
- of arguments up to and including the rightmost non-empty one. ckuus4.c,
- 7 Jul 2006. ===
- Fixed \fstripb() to not dump core if second argument is missing.
- ckuus4.c, 7 Jul 2006. ===
- Discovered that it was not obvious what pattern to use to match strings
- enclosed in square brackets. "if match [abc] \[*\]" didn't work.
- Neither did various other tricks like NCRs for the brackets. However,
- "if match [abc] \\[*\\]" does work. Trying to fix this would no doubt
- break 100 other things, so let's call it a feature. 7 Jul 2006. ===
- Added \fgetpidinfo(n) to return info about a process ID; for now it
- simply returns 1 if the process is alive and 0 if not (or -1 if the
- argument is bad or missing or on any kind of error). ckuusr.h,
- ckuus[24].c, 7 Jul 2006. ===
- The "where-did-my-file-go" message seemed to be ending with a LF rather
- than CRLF, probably because the terminal modes had not yet been
- restored, leaving the next prompt hanging below it, rather than on the
- left margin, if C-Kermit exited immediately after the transfer. Fixed
- by changing all \n's to \r\n's in wheremsg(): ckcpro.w, 8 Jul 2006. ===
- Added \v(lastkwval) so we can retrieve programmatically the keyword
- most recently processed by \fkeywordval(). ckuusr.h, ckuus4.c, 9 Jul
- 2006. ===
- --- Dev.20 --- ===
- Added #ifdef SV68, #include <unistd.h>, #endif because Unix System V/68
- on Motorola choked on the SEEK_CUR reference without it. ckuus4.c, 10
- Jul 2006. ===
- Make \fkeywordval(xxx) undefine xxx (i.e. when a keyword is given with
- no value). This way command-line keywords will always override
- preexisting default definitions, whether they have a value or not,
- which makes it easier to parse command lines like "foo=bar blah xx=yy".
- ckuus[24].c, 12 Jul 2006. ===
- On 29 Nov 2005 I changed IF KERBANG to solve a problem (see entry for
- that date), but introduced a new one; namely that you can't have (e.g.)
- a FATAL macro that uses IF KERBANG to decide whether to EXIT all the
- way or STOP back to the prompt. Changed it again, this time to require
- not that the command level be 1, but that the command *file* level be 0
- (i.e. that we are in the top-level command file, irrespective of the
- command or macro level, but not in a subfile). ckuus6.c, 12 Jul 2006.
- ===
- It is unhelpful when Kermit gets a syntax error in the middle of a big
- compound statement block (e.g. FOR or WHILE loop) and dumps out the
- whole thing in an error message. I changed the two places where this
- can happen to call a new routine that, instead of dumping out the
- entire cmdbuf, checks its length first and if it's more than a line
- long, truncates it and adds an ellipsis. ckuus6.c, 12 Jul 2006. ===
- The new RENAME command didn't give very good error messages, e.g. if
- the filespec didn't match any files. Fixed in dorenam(): ckuus6.c, 12
- Jul 2006. ===
- Fixed DIR /TOP to work if the /TOP:n argument was omitted, defaulting
- to 10. domydir(): ckuus6.c, 12 Jul 2006. ===
- Added DIR /COUNT:v to count the number of files that match the given
- criteria and store result in the variable v. ckuusr.h, ckuus[r26].c, 24
- Aug 2006. ===
- Added HDIRECTORY as an invisible synonym for DIR /SORT:SIZE /REVERSE.
- Can be used with other switches, of course, so (e.g.) HD /TOP shows the
- ten biggest files. ckuusr.h, ckuus[r26].c, 24 Aug 2006. ===
- DIR /FOLLOWLINKS and /NOFOLLOWLINKS always did the same thing; the
- switch was ignored, a symlink is always followed. Fixed in ckuus6.c, 24
- Aug 2006. ===
- Added DIR /NOLINKS, which means don't show or count symlinks at all.
- ckuusr.h, ckuus[r26].c, 24 Aug 2006. ===
- Build on Solaris 9 and NetBSD 3.0, 24 Aug 2006. ===
- Added a missing definition for LOCK_DIR in the Linux HAVE_BAUDBOY case,
- suggested by Gerry Belanger. ckutio.c, 6 Oct 2006. ===
- Suggested by Jim Crapuchettes: \v(dialmessage) is the text string
- corresponding to \v(dialstatus). ckuusr.h, ckuus4.c, 6 Oct 2006. ===
- Soewono Effendi sent code for exit sequence to leave DTR on; this
- amounted to unsetting HPUCL in c_cflag. I did it a simpler way,
- hopefully portable to all Unixes, but who knows at this late date. The
- code is inside #ifndef CK_NOHUPCL..#endif in case it causes trouble. It
- is executed if SET EXIT HANGUP is OFF and a serial port was open at the
- time Kermit exits (or closes it explicitly). ttclos(): ckutio.c, 6 Oct
- 2006. ===
- Built on Solaris9/Sparc; FreeBSD 6.2/AMD64; NetBSD 3.0/i386; HP-UX 11i
- v2; SCO OSR6.00. ===
- --- Dev.21 --- ===
- Added netbsd+openssl target to makefile. Built OK (NetBSD 3.0, OpenSSL
- 0.9.7d) except with some warnings in ck_crp.c. Connects and logs in OK
- to a secure site. 10 Oct 2006. ===
- Added a debug statement to ftp_hookup() to record the TCP port that was
- used. ckcftp.c, 11 Oct 2006. ===
- Built with OpenSSL 0.9.7l on Solaris 9. Built with OpenSSL 0.9.8d on
- Solaris 9; connects and logs in to a secure site. 11 Oct 2006. ===
- The new RENAME command didn't work if both the source and destination
- names included directory segments, e.g. "rename /tmp/foo ~/bar" (see
- notes of 4 May 2006). This was fixed in renameone() by a special case
- in which the second argument is given but it is a filename, not a
- directory name. ckuus6.c, 11 Oct 2006. ===
- Fixed unguarded reference to dialmsg[] for \fdialmessage(), noticed by
- Gerry Belanger. ckuus4.c, 12 Oct 2006. ===
- Added a TOUCH command that does what UNIX touch does: creates the file
- if it does not exist, updates the timestamp if it does. If a wildcard
- is given, it operates only on existing files. It shares the DIRECTORY
- command parser, so all the same file selection switches can be given.
- ckuusr.[ch], ckuus[26].c, 12 Oct 2006. ===
- PeterE noticed that if you FOPEN a file, do some seeks or reads, then
- FCLOSE it, then FOPEN it again (or open a different one), some of the
- old information is still there (e.g. current line number). This is an
- artifact of the changes of May 4th. Now the file closing and opening
- routines are a bit more careful about scrubbing and initializing the
- file info struct. ckuus7.c, 12 Oct 2006. ===
- --- Dev.22 --- ===
- Built OK on Red Hat Linux AS4 with both "make linux" and "make
- linuxnc". 15 Oct 2006. ===
- DIRECTORY /BRIEF ignored file selection switches and always listed all
- files. This was because of how I cleverly called filhelp() (the routine
- that lists matching files when ? is typed in a filename field) and, of
- course, filhelp() doesn't know anything about the DIRECTORY command's
- file selections. Changed filhelp() to accept all the args needed for
- passing along to fileselect(), renamed it to xfilhelp(), and made a
- filhelp() stub that chains to xfilhelp() with null selections.
- ckcker.h, ckucmd.[ch], ckuus6.c, 29 Nov 2006. ===
- SHOW CONNECTION for an SSH connection said the connection type was
- "NET" rather than "SSH". Fixed in dolognet(): ckuus3.c, 29 Nov 2006.
- ===
- SHOW CONNECTION didn't show the TCP port number. This command works by
- parsing the current connection log entry string, which doesn't have a
- field for this, but which sometimes shows the port number as part of
- the hostname (but more often not). Added code to dolognet() to log the
- TCP port number, if known. This involved adding a gettcpport() function
- to ckcnet.c. ckcnet.[ch], ckuus3.c, 29 Nov 2006. ===
- This was impossible: def \%1 upper, echo \f\%1(abc) -- i.e. to
- "compose" a function name. Fixed in zzstring(). But note that it's
- still not possible to do this: def \%1 \fupper, echo \%1(abc) --
- because at the point where "\fupper" is encountered, which is
- automatically fed to fneval(), the argument list hasn't been read yet.
- ckuus4.c, 29 Nov 2006. ===
- The meaningless Lisp command (=) would cause Kermit to hang. Due to
- some idiosyncracy in the parser, it would see this as ((=) and would go
- into "wait for the closing paren" mode. There was already a hack in the
- code to compensate for this, but it didn't work. I fixed the hack but I
- don't understand the real problem. Anyway, comparing Kermit with real
- (Franz) Lisp I discovered that comparison operators do not require two
- arguments, as Kermit has been doing, although they do require at least
- one. I changed Kermit to not require two, so now all the comparison
- predicates behave exactly like Franz Lisp, including getting an error
- if there are no args). ckuus[r3].c, 29 Nov 2006. ===
- From to-do list: Make a way to inhibit pattern matching in SWITCH
- labels. It's already there; just quote the wildcard characters; the
- only trick is that for some reason (such as that SWITCH is really an
- internally defined macro), a double quote is needed:
- switch \%1 {
- :a\\*z, echo literally "a*z", break
- :abcxyz, echo literally "abcxyz", break
- :a*z, echo a...z, break
- :default, echo NO MATCH
- }
- In first case, the asterisk is taken literally; in the third it's a
- metacharacter and the label matches any string that starts with 'a' and
- ends with 'z'.
- Array initialization would quit early if any initializers were
- undefined, e.g. "decl \&a[] = \%a \%b \%c" would stop at the first
- element if \%b was not defined, even though \%c might be defined. Fixed
- in dodcl(): ckuusr.c, 30 Nov 2006. ===
- DIR /ARRAY:a filespec, when the filespec does not match any files,
- terminates with the array undeclared. It would be better to return a
- declared but empty array (\&a[0] = 0). The code is already there to do
- that, but isn't working. And yet "declare \&a[0]" does indeed create a
- 0-element array ("show array" shows a dimension of 0). Turns out there
- were two problems; one was the careless recycling of a local variable
- ("array"), resulting in failure to create \&a[] (but not any other
- array). Fixed in domydir(): ckuus6.c, 30 Nov 2006. ===
- The other problem was that dclarray(), when called with an array name
- and a dimension of zero, does two different things depending on whether
- the array already existed. There is still a fair amount of confusion
- about whether a dimension of 0 indicates an array with 1 element (as it
- should) or a nonexistent array. We call dclarray() with a size of 0 to
- undeclare an array but we also need to able able to declare an array
- with only element 0. I changed dclarray() to treat a negative dimension
- as a command to destroy the array, and 0 or positive as a command to
- create the array with the given dimension. ckuus[r56].c, 30 Nov 2006.
- ===
- Next problem: when chkarray() returns 0, this should not be interpreted
- to mean the array does not exist. Looks like the only place this
- happened was in \fcontents(); fixed in ckuus4.c, 30 Nov 2006. ===
- If we include file selectors with DIR /ARRAY:&a and some of the files
- that match the given filespec but don't fit the selectors, the array's
- dimension is bigger than its number of elements. Added code at the end
- of domydir() to resize the array so \fdim() returns the number of
- filenames in the array, and also made sure that element 0 contains that
- number too. ckuus6.c, 30 Nov 2006. ===
- This would be a nice elegant way to loop over a bunch of files, if it
- worked:
- for \%i 1 \ffiles(*) 1 { rename \fnextfile() xxx_\flpad(\%i,3,0) }
- But in this loop, Kermit skips every other file (beginning with the
- first) and then runs out of files halfway through the loop. Why?
- Because in commands like RENAME and DELETE, the filename parser is in a
- chained FDB with the switch parser. First the switch parser, cmswi(),
- gets its hands on \fnextfile(), passing it through the evaluator and
- thus getting the first filename, which it then sees is not a switch, so
- now the field is parsed by the next parser in the chain, cmifi(), which
- causes \fnextfile() to be executed again. In fact, the FOR loop has
- nothing to do with it; the same thing happens like this:
- void \ffiles(*)
- delete \fnextfile()
- This deletes not the first file, but the second one. Obviously users
- can be told not to refer to \fnextfile() in chained-fdb fields:
- for \%i 1 \ffiles(*) 1 { .f := \fnextfile(), delete \m(f) }
- but this is hardly intuitive. I had some clever ideas of how to make
- \fnextfile() work as expected in this context but it's way too much
- magic. Better to simply document that \fnextfile() is "deprecated" and
- the array format should be used:
- for \%i 1 \ffiles(*,&a) 1 { delete \&a[\%i] }
- The difference is, an array element doesn't change every time it's
- referred to!
- Added a /PRESERVE switch to the COPY command to preserve the timestamp
- and permissions of the file. I did this using the Kermit APIs so it
- should work for any version of C-Kermit or K95. ckuus[26].c, 30 Nov
- 2006. ===
- Added COPY /OVERWRITE:{ALWAYS,NEVER,OLDER,NEWER} to control name
- collisions when copying across directories. ckuus[26].c, 1 Dec 2006.
- ===
- --- Dev.23 --- ===
- Fixed a bug in SET TELNET PROMPT-FOR-USERID, SET AUTH KERBEROS[45]
- PROMPT, and SET AUTH SRP PROMPT in which the user's string was compared
- with a literal (s == ""), reported by Pavol Rusnak. Worse, empty
- strings (if the test succeeded) were turned into null pointers, and
- then fed to strlen(). Fixed in ckuus3.c, 5 Dec 2006. ===
- Added an optional 4th argument to \findex(), \frindex(), \fsearch(),
- and \frsearch(): the desired occurrence number of the searched-for
- string. \frsearch() was a bit tricky. ckuus[24].c, 7 Dec 2006. ===
- Added \fcount(s1,s2) to tell the number of occurrences of s1 in s2.
- ckuus[24].c, 8 Dec 2006. ===
- Added \ffunction(s1) to tell if a given built-in function is available.
- ckuus[24].c, 8 Dec 2006. ===
- Changed RENAME /COLLISION:PROCEED to be /COLLISION:SKIP, which is
- clearer. ckuus[26].c, 8 Dec 2006. ===
- For communication protocols: INPUT /COUNT:n to read exactly n
- characters without any matching. Can be used, for example, with
- CONTENT_LENGTH in CGI scripts; NUL characters are counted but not
- collected. ckuusr.[ch], ckuus4.c, 8 Dec 2006. ===
- There was a bad bug in the date-parsing routines; it's been there for
- years. If a date string includes a timezone, e.g. "Sat, 9 Dec 2006
- 19:26:23 EST", and converting to GMT changes the date, the variables
- for day, month, and year (which are used later) were not updated, and
- the final result was a day off. Fixed in cmcvtdate(): ckucmd.c, 10 Dec
- 2006. ===
- Built OK with SSL/TLS. Tested with the POP script, found that I broke
- INPUT when adding the /COUNT feature; there was a path through the code
- that could leave the "anychar" variable unset and therefore random.
- Fixed in doinput(). The POP script, which does not use /COUNT, works
- again and so does a new CGI script, which does use /COUNT. ckuus4.c, 10
- Dec 2006. ===
- Supplied a missing comma in the help-text array for HELP SET TERMINAL,
- which resulted in bad formatting in K95 around SET
- SNI-FIRMWARE-VERSIONS. ckuus2.c, 10 Dec 2006. ===
- Made "help locus" a synonym for "help set locus". ckuusr.[ch],
- ckuus2.c, 11 Dec 2006. ===
- This morning the Columbia FTP server was malfunctioning in a perfect
- way for me to implement and test an FTP timeout mechanism. The server
- would close the data connection after sending the file, but the client
- never saw the close and was stuck forever in a recv(). I added code to
- do a select() on the data connection prior to entering the recv(), with
- a timeout on the select() that the user can establish with SET FTP
- TIMEOUT. Built and tested on Solaris 9, clear-text FTP. Also built
- cleanly for FTPS and tested against a server that does not hang; I
- don't have access to an FTPS server that would tickle the timeout code.
- ckcftp.c, 11 Dec 2006. ===
- --- Dev.24 --- ===
- Fixed a bug in the INPUT /COUNT: parser: the array of search strings
- was never initialized, which didn't matter before, but with /COUNT:, if
- the first element was not a NULL pointer, we'd treat it as a search
- string, and then if it happened to match something in the input stream,
- the operation would stop before the count was exhausted. Fixed by (a)
- initializing the array, and (b) ignoring any search strings if /COUNT:
- was given. ckuusr.c, 13 Dec 2006. ===
- Removed a debug() statement from zsattr() that suddenly started making
- some version of gcc complain, reported by Gerry Belanger. ckufio.c, 13
- Dec 2006. ===
- --- Dev.25 --- ===
- Some casts for the 3 interior args of the new select() call in ckcftp.c
- for HP-UX 9. 14 Dec 2006. ===
- Changed \fkeywordvalue() to accept a string rather than a single word
- as its second argument, so that more than one separator could be
- specified, and to return -1 on error, 0 if it found nothing, 1 if given
- a keyword but no value, and 2 if there was a keyword and a value.
- dokwval(): ckuus[24].c, 14 Dec 2006. ===
- Checked FTP timeout on command channel with FTP DIRECTORY of a big
- directory using a path into our ftp server that preserves the hanging
- behavior. The timeout was actually working, but the failure condition
- wasn't propagating back to the user, and there was no error message.
- Fixed in doftprecv2() and failftprecv2(): ckcftp.c, 15 Dec 2006. ===
- Added the obvious timeout checks for FTP uploads, but I have no way to
- test the code since our misbehaving FTP server does not hang when
- receiving files, only when sending them. But uploads work both with and
- without a timeout set, so at least no harm is done. ckcftp.c, 17 Dec
- 2006. ===
- When downloading with FILE DESTINATION NOWHERE (= /CALIBRATE), Kermit
- still checked the size of the incoming file and refused it if there
- wasn't enough free disk space, on platforms (such as VMS) where
- zchkspa()) actually works; reported by Bob Gezelter. ckcfn3.c, 18 Dec
- 2006. ===
- Built on Mac OS X 10.4.8 and NetBSD 3.1_RC3, all OK. 19 Dec 2006. ===
- --- Dev.26 --- ===
- Built on VMS 7.3-2/Alpha. Had to squelch a couple compiler warnings by
- changing some ints in the new \fpictureinfo() code from unsigned to
- signed, and fix a typo in the prototype for the new gettcpport()
- function. ckcnet.h, ckuus4.c, 22 Dec 2006. ===
- --- Dev.27 --- ===
- Parameterized pty routines and all references to them for file
- descriptor, rather than to use global ttyfd, thus allowing ptys to be
- created for different purposes. Tested on Solaris 9 and Mac OS X
- 10.4.8, with "set host /connect /pty emacs" (fine in both cases), and
- (more to the point) "set host /connect /pty kermit" -- here we make a
- connection from one Kermit process to another and transfer a file;
- works fine and wasn't especially slow either; a good sign. ckcdeb.h,
- ckutio.c, ckupty.c, 22 Dec 2006. ===
- Created a new version of ttruncmd() called ttyptycmd(), which works by
- calling do_pty() to get a pty to run the command on, and then in a
- loop, reads from the pty and writes to the net and reads from the net
- and writes to the pty, using select() to which of those it should do on
- each pass. First cut just uses single-byte reads and writes. Tested
- using Kermit itself as an external protocol. Works but slowly: 6000cps.
- Zmodem doesn't work at all. ckutio.c, 24 Dec 2006. ===
- Changed single-character read() and write() to buffered reads and
- writes, with ttxin() and ttol() used for network i/o. Using Kermit as
- the external protocol, this gives 450Kcps (about 1/3 normal on this
- connection).
- But now there's a problem: the loop doesn't know when to stop. How does
- it know when the process that is running on the pty has exited? With
- single character read()'s that are executed unconditionally when
- select() says the pty has data waiting, as in the first pass, I get EIO
- if there actually isn't any, and can exit the loop. But now, to avoid
- blocking, I call in_chk() to see how much data is waiting, and I don't
- try to read anything if it says nothing is waiting. If the process
- associated with the pty file descriptor has terminated, in_chk() would
- presumably get some kind of error, but it doesn't. I changed do_pty to
- return the pid of the fork where it execs its command so we can check
- the pid with kill(pid,0) when in_chk() of the pty says 0, but this
- doesn't help either; it seems like the process is not exiting, but of
- course it is.
- I could not find any legitimate way to test when the pty fork
- terminated. Select() always says the pty file descriptor was ready, no
- matter what. Select() never reports an exception on the pty file
- descriptor; in_chk(ptyfd) returns 0 and not an error. read(ptyfd,...)
- gets 0 but not an error. fcntl(ptyfd,...) doesn't get an error. Finally
- I tried write(ptyfd,c,0) and this indeed gets EIO (i/o error). With
- this, using Kermit as the external protocol works fine in Solaris but I
- tend to think this trick will not be very portable (it isn't). 24 Dec
- 2006.
- Made ttptycmd() use a more intelligent buffering scheme, fixed a few
- things about how I was setting up the select() call that should address
- some of yesterday's problems. Still doesn't work but it's progress. A:
- 25 Dec 2006. ===
- Debugging yesterday's code... Still, the error conditions are never
- set, we never detect when the pty closes. In Solaris, if select() says
- ptyfd is ready to read but in_chk() says there are no characters there,
- we can treat this as a loop-exit condition. But in NetBSD, in_chk()
- always says 0 when used on a pty (but works OK on a serial or net
- connection).
- Realized I could not use in_chk() on the pty because there is too much
- baggage with the communication path -- myread(), etc etc) -- so I
- replaced this with a simple ioctl(ptyfd,FIONREAD,&n). This works fine
- in Solaris but always returns 0 in NetBSD, despite what the man page
- says (i.e. that this function can be used on any file descriptor).
- OK, let's see.... select() does not return useful results. It says
- characters are waiting on ptyfd when they are not, and it never detects
- the closure of the pty..... Well of course not, because we are the ones
- who have to close it. Just because the process has stopped doesn't mean
- the pty is closed. So we're back to square one, how do we know when to
- close it? ckupty.c seems to keep the process ID in a global variable,
- pty_fork_pid (which is not the same as the pid now returned by
- do_pty(), which is useless, but I don't understand why). But it doesn't
- matter because when we kill(pty_fork_pid,0), we still get no error of
- any kind, even after we know the process has exited. I am completely
- flummoxed. select() lies, and even if it didn't, there is simply no
- completion criterion. In the loop, select() always says that the pty is
- ready to read. To be continued. 26 Dec 2006. ===
- Back to Square One, single-byte reads and writes.
- . This works for both ripple and Kermit.
- . Doesn't work for Zmodem but we'll deal with that later.
- . In this case FD_ISSET(ptyfd) is still true after pty closes.
- But the ensuing read() gets EIO so we know the pty is gone. That means
- the same thing should happen in the buffered version, no? Yes; I went
- back to the buffered version and replaced all the other nonworking
- tests by a blocking read of 1 byte on the pty and this detects the
- termination. Now:
- . ripple works perfectly (of course it's only one-way).
- . Kermit fails
- Let's call the remote, forked, redirected, external Kermit A and its
- local partner B. A sends its S-packet, B receives it OK and Acks. A
- apparently does not receive the ACK in time, so sends the S again, but
- OK. followed immediately by the F. B Acks the F. A sends the A, B Acks
- it. But now A sends a piece of the previous F packet and the the first
- piece of a D packet.
- Clearly the buffering is messed up. Sure enough, there was an
- extraneous statement incrementing a read pointer in a write section.
- Removing that cleared up the problems with Kermit, now we can send and
- receive substantial files efficiently in remote mode. Zmodem seems to
- work too, except that at the beginning a bunch of "**B0800000000022d"'s
- are stuffed into Kermit's command buffer, so after the transfer we get
- some error messages.
- In local mode, over a Telnet connection, Kermit works fine. Zmodem
- works OK too except it doesn't finish right, so at the very end rz on
- the far end is still waiting for something; if I cancel out of it with
- ^X^X^X^X^X, it deletes the file. So there still is something wrong with
- the termination test.
- Also you don't see anything on your screen when running Kermit or
- Zmodem this way. That's to be expected, since they are using stdio for
- the transfer, so they can't also be displaying progress or other
- messages.
- Built this on NetBSD again... Seems to work this time, but has trouble
- finishing, like Zmodem. Hmmm, on closer examination, it turns out that
- since in_chk() always returns 0 on the ptyfd, we fall into our new
- single-byte read code, so it's really slow, like 10K cps on a
- connection where 1M is the norm. 27 Dec 2006. ===
- Switched the pty from buffer peeking (FIONREAD) and blocking reads to
- to nonblocking reads (O_NONBLOCK / O_NDELAY). Works just fine on NetBSD
- except now we no longer get EIO at the end when trying to read from the
- pty process that has exited. In fact, we're back to square one again.
- not ioctl(), not fcntl(), not select(), not even read() gets an i/o
- error after the pty process exits. But in NetBSD, we have to use
- nonblocking reads because ... Hmmmm, maybe switch the fd between
- blocking and nonblocking for the test... Nope, NetBSD seems to be
- hopeless (later, Ed Ravin confirmed that similar problems have been
- observed with other applications that try to do this).
- Switching to Linux, I see that yesterday's Solaris code (blocking
- reads) works exactly the same way on Linux.
- Tried today's O_NDELAY method on Solaris. It works perfectly. And then
- I moved this one to Linux and it works perfectly there too. Except in
- both cases we have the weird thing with Zmodem at the end, but I think
- that's because rz/sz don't use standard i/o. On NetBSD, it still hangs
- at the end.
- Turns out that testing the pid works in NetBSD, even though it didn't
- in Solaris. Turns out read() gets an i/o error in Solaris and Linux but
- not in NetBSD. So checking the read result first, and then checking the
- pid if read() got zero bytes catches all three. 28 Dec 2006. ===
- Now the question of return code. In the original ttruncmd() function,
- we do a fork() and a wait(). When the external protocol program
- finishes, wait() gives us its return code and we can pass it on through
- \v(pexitstat) as well ttruncmd's own return code. But ttptycmd() has to
- interact with the pty continuously, so it can't just sit back and
- wait() for it. Instead we have to detect when the process has exited
- and then call waitpid() on the fork pid, before shutting down the pty.
- Tested on Solaris using Kermit as the external protocol and then
- inducing failure, or letting it run to completion. FAILURE and SUCCESS
- set appropriately in each case. Tested with Zmodem too, works OK except
- for the aforementioned cosmetic glitch at the end. Tested on NetBSD,
- all OK.
- To make K5 connection to Panix from Spam:
- set telnet debug on
- authenticate K5 init /realm:PANIX.COM /password:xxxxx
- set host shell.panix.com 23 /k5login
- Good... Now I try to send a file from Spam to Panix over the K5
- connection using Kermit itself as the external protocol. It fails.
- Inspection of the debug log on the far side shows that the S-Packet was
- received correctly, good! This means we are reading the clear-text
- S-Packet from the external Kermit program, and that ttol() is
- encrypting appropriately.
- The remote Kermit sends the Ack and goes to read the next packet:
- ttinl() calls myfillbuf() and:
- SVORPOSIX myfillbuf calling read()
- SVORPOSIX myfillbuf=0 <-- read returns 0
- SVORPOSIX myfillbuf ttcarr=2
- SVORPOSIX myfillbuf errno=0 <-- and reports no error
- HEXDUMP: mygetbuf read (-3 bytes)
- mygetbuf errno=0
- ttinl myread failure, n=-3
- ttinl myread errno=0
- ttinl non-EINTR -3[closing]
- This happens because myfillbuf() deliberately returns -3 when read()
- gets 0 bytes. I don't understand why this happens but the real problem
- is yet to come. The local Kermit (the one that has made the secure
- connection and is running the external protocol through ttptycmd())
- eventually figures out that the transfer failed and when we reconnect,
- we get total garbage -- the encryption either stopped happening, or got
- out of sync.
- Looking at the local debug log, ttol() is doing its job, converting the
- initial "kermit -r\13" from plaintext to cyphertext, as shown by the
- hexdumps. Then it enters ttptycmd()... Hmmmm, wait, how can it send the
- "kermit -r" before it starts the external protocol? Never mind, worry
- about that later... Anyway, ttptycmd() says:
- ttptycmd loop top have_pty=1
- ttptycmd loop top have_net=1
- ttptycmd FD_SET ptyfd in
- ttptycmd FD_SET ttyfd in
- ttptycmd nfds=5
- ttptycmd select=1
- ttptycmd FD_ISSET ttyfd in
- ...
- ttptycmd in_chk(ttyfd) n=11
- ttptycmd ttxin n=11
- ttxin() asks for 11 bytes, myfillbuf() gets 11 bytes, and hexdump()
- shows the cyphertext, there doesn't seem to be any decrypting going on.
- Hmmm, it looks like the regular code calls ttinc() in a loop, rather
- than ttxin(). Maybe ttxin() doesn't have decryption hooks. No, that's
- not it, the code is there, but the Kermit packet reader does not use
- ttxin(), it uses ttinl(). But of course we can't use that for external
- protocols because it's designed only to read Kermit packets.
- Substituting a loop of ttinc()s for the ttxin() call fixes things (and
- strangely enough, it seems to be faster). And now we have our first
- external protocol transfer over a secure connection (external Kermit
- program, Linux over Kerberos 5 to NetBSD). Zmodem worked too for a
- short file but "something happens" with longer ones. 29 Dec 2006. ===
- New makefile target for Linux with Kerberos 5, linux+krb5, that doesn't
- include anything extra from SSL or other security methods (but
- apparently it is still necessary to include -DOPENSSL_097 in order to
- get the right names for the DES routines?). Ditto netbsd+krb5 for
- NetBSD, except in this case -DOPENSSL_097 is not necessary. makefile,
- 30 Dec 2006. ===
- Note to myself: On Panix:
- export LD_LIBRARY_PATH=/usr/local/kerblib
- make netbsd+krb5 "K5LIB=-L/usr/local/kerblib" "K5INC=-I/usr/local/include"
- Can't telnet-k5 from newly built Kermit on NetBSD; partway through the
- negotiations, just after "TELNET RCVD SB ENCRYPTION SUPPORT DES_CFB64
- DES_OFB64 IAC SE" it dumps core. The last two lines in debug.log after
- this are:
- tn_sb[len]=5
- encrypt_support[cnt]=2
- Rebuilding with -DOPENSSL_097 doesn't change anything. Ed Ravin said
- they have two different Kerberos installations, Heimdal and MIT; maybe
- some mixup between the two explains the problem (Jeff concurs). The
- core dump occurs in ck_crp: encrypt_support():
- debug(F100,"XXX ep not NULL","",0);
- type = ep->start ? (*ep->start)(DIR_ENCRYPT, 0) : 0; <-- Here
- debug(F101,"XXX new type","",type);
- Anyway, I can log in with Kerberos 5 to Panix OK from Columbia (sesame)
- using 8.0.201. So let's try to resurrect the Solaris version with
- everything:
- solaris9g+krb5+krb4+openssl+shadow+pam+zlib
- I hunted around to find where the current library and header file
- directories were... Last time I tried this (March 2006) it bombed, not
- finding libdes. Instead we have /opt/kerberos5125/lib/libdes425.a. Made
- a new cu-specific target that includes this; now we get farther; it
- blows up in ckcftp.c with tons of errors and warnings, which we can
- worry about later. Building again with -DNOFTP, it gets to ckuath.c
- (the first security module) and:
- ckuath.c:151:18: error: krb5.h: No such file or directory
- ckuath.c:152:21: error: profile.h: No such file or directory
- ckuath.c:153:21: error: com_err.h: No such file or directory
- ckuath.c:176:28: error: kerberosIV/krb.h: No such file or directory
- In file included from /opt/openssl-0.9.8d/include/openssl/des.h:101,
- from ckuath.c:219:
- Found krb5.h in /opt/kerberos5125/include/krb5.h, added a -I for this
- directory ... Now we get lots of warnings in ckuath.c, but it completes
- OK, then we wind up bombing out in ck_crp.c; I don't know why -- there
- are all the same warnings (related to argument passing to DES
- functions), but no errors. I have no clue.
- Tried to resurrect the solaris2x+krb4 target; this required changing
- -lkrb to -lkrb4 and -ldes to -ldes425. Lots of warnings in ckutio.c,
- ckcnet.c, ckctel.c, then it bombs out in ckcftp.c because it can't find
- krb.h. I found it, adjusted the -I flags, but now it bombs because
- krb.h itself #includes <kerberosIV/des.h>, which of course it can't
- find because the brackets mean it's looking in
- /usr/include/kerberosIV/, which, of course, the sys folks have removed.
- Giving up on Solaris again. Later, Jeff said "Solaris does not publicly
- export the krb5 libraries. You need to build the MIT Kerberos libraries
- separately and link to them." 30 December 2006. ===
- Changed copyright date to 2007. ckcmai.c, 1 Jan 2007. ===
- With Ed Ravin's help, successfully built C-Kermit with Kerberos 5 and
- OpenSSL (netbsd+krb5+openssl+zlib), but it does not make K5
- connections; it gets hung up in the Telnet negotiations. 3 Jan 2007.
- ===
- Downloaded MIT Kerberos 5 v1.4.4 to Solaris 9, 54MB worth. This is just
- so I can build a Kerberized C-Kermit for testing ttyptycmd(). Ran the
- configure program, got a few warnings but it didn't fail (should it?)
- Did "make install", specifying a private directory but it failed
- immediately with "cannot stat libkrb5support.so.0.0: No such file or
- directory". OK, I tried. 3 Jan 2007. ===
- Made a new makefile target for Mac OS X, macosx10.4+krb5+ssl, ran it on
- Mac OS X 10.4.8. It bombs out in ckcftp.c with: ckcftp.c:551: error:
- static declaration of 'gss_mech_krb5' follows non-static declaration
- /usr/include/gssapi/gssapi_krb5.h:76: error: previous declaration of
- 'gss_mech_krb5' was here". Ditto for gss_mech_krb5_old,
- gss_nt_krb5_name, and gss_nt_krb5_principal. Tried again with -DNOFTP.
- We get lots of warnings in the network modules, but they complete. But
- ck_ssl.c bombed with a conflict between its own declarations of
- encrypt_output and decrypt_input and the ones in ckuat2.h; removed the
- prototypes from the latter (as Jeff advised) it built OK and it works
- OK too. Built with FTP too, but with link-time warnings about the
- aforementioned gss_* symbols. #ifdef'd them out (gss_mech_krb5,
- gss_mech_krb5_old, gss_mech_name, and gss_mech_principal) for MACOSX,
- where these symbols are exported by the library. Now it all compiles
- and links OK, and runs OK too. 3 Jan 2007. ===
- Spent a day hunting around for a version of Zmodem that would build and
- execute on Mac OS X, finally found one. Now at last I could try a
- Zmodem external-protocol transfer over a secure connection. But phooey,
- C-Kermit's pty support didn't work on this box. Kermit finds master
- /dev/ptypa OK, then in ptyint_void_association() tries to open /dev/tty
- but gets ERRNO=6 "device not configured" (which is apparently OK,
- because the same thing happens on other platforms where this works),
- then tries to open slave /dev/ttypa and gets ERRNO=13 "permission
- denied" because, indeed, I don't have r/w permission on the device.
- Left a message. 4 Jan 2007. ===
- Changed TRANSMIT /BINARY output buffer size from 252 to 508 to avoid
- TCP fragmentation. Need to add a SET command for this later. ckuus4.c,
- 5 Jan 2007. ===
- Found another Mac where the ptys weren't protected against me, make a
- K5 connection and transferred a largish file with Zmodem with zero
- glitches, except it was kind of slow, 84K cps. Well, we're doing
- single-character reads on the net (ttinc()'s instead of ttxin()). Hmmm,
- but then I did it again and got 2.2Mcps. Success was reported, but it
- actually didn't work; it only sent the first quarter of the file.... Oh
- well, at least now we have a testbed. 5 Jan 2007. ===
- Tried again, saw that the file is actually transferred instantly but
- then we're not picking up the protocol at the end. Theory: after the
- transfer finishes, we come back to the prompt on the remote host, which
- means we have something to read from the net and write to the pty, but
- the pty has already exited. AFTER THE PTY IS GONE, WE DO NOT WANT TO
- READ FROM THE NET ANY MORE. Adding this test makes Kermit succeed right
- away when sending the same largish file, with a transfer rate of 4M
- cps, that's better. But the rz program on the far end is evidently not
- receiving the goodbye handshake from the receiver, because it sits
- there foreever in its *B09002402009418 mode until I ^X^X^X^X^X out of
- it, at which point it deletes the file it already received, not very
- helpful. In the code, I read from the pty if the pty is open and there
- is room in the buffer. This means that when we get to the end, either
- there is no room in the buffer (unlikely) or the last bit sent by sz
- before exiting was cut off when the fork closed. Why do we get in this
- fix only with Zmodem and not with Kermit?
- In Mac OS X, after sz exits, we get ERRNO=5 if we try to write to the
- pty, but we still get no errors after that if we try to read from it.
- Still, prior to this we did more than 20 unproductive nonblocking reads
- from the pty (no error, no bytes) without incident; there did not seem
- to be anything waiting. In fact, the last thing we read from the pty
- were the text messages that are issued at the end of the transfer: "rz
- 3.73 1-30-03 finished." After which it pauses a second and spits out a
- message about UNREGISTERED COPY.
- Figured out how to build lrzsz, in hopes that the previous problems
- were with rzsz and crzsz's fiddling with file descriptors, but I get
- the same behavior. Which is good, I guess, because if I can fix one, I
- fix them all. Or not... Testing lrz by itself (not under C-Kermit), I
- see that it doesn't work at all with Kermit's own Zmodem
- implementation.
- OK, here's one problem: at the end of the transfer, the Omen Zmodems
- print stuff like "Please read the license agreement", Kermit dutifully
- reads this from the pty and sends it to the host, the host shell says
- "Please: command not found", issues its prompt again, which Kermit
- reads, feeds to the pty, and apparently the pty echoes it, so we send
- it back to the host, and there ensues an infinite loop of getty babble
- until the pty closes. Now, there ought to be a way to make the external
- protocol shut up, like Kermit's -q(uiet) flag, but these are
- unregistered versions so you can't shut up the messages. In fact, the
- transfer works, but the getty babble at the end ruins the experience.
- Now I'm beginning to wonder how any of these programs ever worked as
- external protocols. Hmmm, now that I try it, I see the same thing
- happens the old way, when using ttruncmd() rather than ttptycmd().
- Reading the crzsz documentation I see it says that messages come out on
- stderr. OK, that's progress. In ckupty.c I try redirecting 2 to
- /dev/null. Well good, this filters out the messages from csz, but we
- still get getty babble on the prompt. In the debug log, we read the
- last bunch of stuff from net, 618 bytes of Zmodem stuff... Now what
- happens?
- Zmodem on the remote exits, the host prints its prompt. Kermit, of
- course, reads the prompt from the net, now come to the bottom of the
- loop and we have 7 bytes to write to the pty, and no error condition,
- so we continue the loop. select() says that the pty is ready for
- writing. We write the 7 bytes and and get no error. Loop again, this
- time select() says the pty has data waiting. Sure enough we get the
- prompt back, and send it to the net, and thus begins the getty babble.
- There are two causes for this:
- 1. crzsz does not exit immediately; it sleeps for 10 seconds after
- printing its nag message.
- 2. During this interval the pty seems to be echoing what is sent to it.
- csz is not echoing; I checked. Anyway, removing the pause doesn't
- seem to make a difference.
- ttptycmd() needs to:
- . TELL the pty module to redirect stderr to /dev/null
- . SET PTY TO NOECHO (master or slave?)
- Tried setting the pty to noecho:
- termbuf.c_lflag &= ~(ECHO|ECHOE|ECHOK);
- and this seemed to stop the getty babble. After the file transfer, I
- read back the prompt from the host shell, I write the prompt bytes to
- the pty; there is no error. And now select() simply hangs forever (or
- times out if a timeout is set). The question here is: why didn't
- writing to the pty produce an error? And, because we never detect the
- pty has exited, we can't set a good return code. 5 Jan 2007. ===
- Moved pty fork testing to a separate routine, pty_get_status(), and
- added a call to it from the place where we time out, in case the fork
- terminated; then we can get and return its status. 6 Jan 2007. ===
- Added calls to pty_get_status() to every place where we suspect a pty
- error, tried again with lrzsz, crzsz, and regular rzsz. All three work,
- but in each case waitpid() indicates that the sz program gave exit code
- 1 (failure). ckutio.c, 7 Jan 2007. ===
- Changing the subject... On my test system, every time I execute
- ttptycmd(), I get "permission denied" on /dev/ttyp3. Then I run it
- again and get to ttyp4 which is OK. I wanted to skip past any pty for
- which I lack permission and try the next without raising an error.
- Added debugging code:
- 16:25:23.524 pty_getpty() pty master open error[/dev/ptyp0]=5
- 16:25:23.524 pty_getpty() pty master open error[/dev/ptyp1]=5
- 16:25:23.524 pty_getpty() pty master open error[/dev/ptyp2]=5
- 16:25:23.524 pty_getpty() found pty master[/dev/ptyp3]
- 16:25:23.524 pty_getpty() slavebuf [2][/dev/ttyp3]
- So it already was skipping past open errors; ttyp3 was opened
- successfully. The problem is that ptyp3 is rw-rw-rw-, but the
- corresponding master, ttyp3, is rw--r----. It seems the code assumes
- that if the master can be opened, then so can the corresponding slave.
- Unfortunately, the code is not structured to allow us to skip ahead to
- the next master if the slave can't be opened. 7 Jan 2007. ===
- Spent a couple hours trying to rearrange the code in the pty module to
- skip past inaccessible slaves but it was a rabbit hole, not worth it,
- backed off. 8 Jan 2008. ===
- Tried an upload over a secure connection using lsz. Unexpectedly, this
- time it worked; not only was the file (about 0.5MB) transferred
- correctly, but Kermit detected the fork's termination and got the pid's
- exit status, and, for the first time, correctly reported a successful
- transfer. I have no idea why this works today and not yesterday. More
- tests; it works most of the time. It works with csz and with regular sz
- too. ===
- (days later...)
- ckucns.c seems to do the right thing; it recognize the ZSTART string,
- activates the Zmodem-Receive APC, and returns. doconect() sees the APC
- and begins to execute it. The RECEIVE command results in a call to the
- GET command parser, doxget() (IS THAT RIGHT?), then comes a ttflui(),
- which throws away a bunch of stuff. Finally we get to ttptycmd(), we
- get a pty and run lrz in it, select() says stuff is waiting from the
- pty, but read returns 0, errno 0. Skipping the ttflui() in doxget() if
- the protocol was not Kermit didn't seem to make difference. ckuus6.c, 8
- Jan 2007. ===
- The problem is that in this case, reads from the pty never get anything
- (no data, no error), write always gets an error. It's as if the pty was
- not being set up right, or we're using the wrong file descriptor. And
- if we skip the autodownload? Same thing.
- OK, putting downloads aside for a moment, let's get uploads working as
- well as possible. At this point we have the odd situation (at least in
- this configuration) that the upload succeeds, but now for some reason
- we are unable to read the exit status from the process, even though
- this was working before, so ttptycmd() returns 0 (failure), yet Kermit
- reports success.
- Well, it turns out that kill(pty_fork_pid,0) was gumming up the works.
- If we use only waitpid() all is well, I think. waitpid() with WNOHANG
- returns -1 with status -1 errno 0 if the pid has not exited, and it
- returns the pid and status > -1 if the process has exited. Fixed
- pty_get_status() to do it this way. ckutio.c, 7 Jan 2007. ===
- Let's move this from Mac OS to NetBSD and see how it works. Well, the
- file transfer was just fine, but then I used some sexps to calculate
- the elapsed time and transfer rate, and Kermit hung in dosexp(). Fine,
- ignoring that... The debug log shows that ttptycmd() gets the pty OK,
- master and slave, the i/o goes smoothly, and waitpid() does its job
- perfectly. Solaris, same deal; ttruncmd() goes smoothly, but then the
- sexps afterward get "Arithmetic exception". Turns out there was a BAD
- bug in dosexp() that allowed an integer division by 0 to occur under
- certain circumstances; it's always been there. Fixed in dosexp():
- ckuus3.c, 8 Jan 2007. ===
- After noticing a few problems running the pop.ksc script in production
- over the past year, rewrote \femailaddress() to be more reliable and a
- lot simpler. ckuus4.c, 9 Jan 2007. ===
- Back to ttptycmd()... When we left off, we could send but not receive.
- Set up a test case using Kermit as the external protocol for receiving
- a short file. If I SET STREAMING OFF and use short packets, it actually
- does work, so it's not a complete failure to function, but apparently a
- lack of flow control for the pty. Began by completing the
- parameterization of the pty module, so it can be called for interactive
- use (fc 0) or for running protocols (1). Confirmed that everything
- works at least as well as before (e.g. "set host /pty emacs" vs
- external protocols). ckcdeb.h, ckutio.c, ckupty.c, 9 Jan 2007. ===
- Found in HP-UX "man 7 pty" a description of ioctl(fd,TIOCTTY,fc) which
- is exactly what we want: fc 0 turns off all termio processing and
- guarantees an uninterrupted, unmolested, flow-controlled stream of
- bytes in both directions. This function also exists in Linux, but not
- in Solaris, NetBSD, or Mac OS X (TIOCNOTTY is not what we want, it does
- something else entirely).
- Another possibility is TIOCREMOTE, which "causes input to the
- pseudoterminal to be flow controlled and not input edited, regardless
- of the terminal mode". This one exists in at least HPUX, NetBSD,
- Solaris, and Mac OS X.
- Solaris: builds OK, but at runtime we get ENOTTY ("Inappropriate ioctl
- for device"). By the time this happens, it's hard to tell from the code
- whether the fd we're using is for the master or the slave; TIOCREMOTE
- can be used only on the master. Close inspection shows that I am indeed
- doing that; ptyfd as seen by ttptycmd() is truly the master, i.e. the
- /dev/ptyXX device, not the /dev/ttyXX device (the slave fd can't be
- seen at all, as it exists only in a separate fork). OK, so now we know
- that TIOCREMOTE can't be used on Solaris.
- NetBSD: Somehow, whether as a result of today's fiddling or the phase
- of the moon, the code in pty_open_slave() that tries to open /dev/tty
- started failing on NetBSD ("Device not configured"). Changing it to be
- run only if fc == 0 (which doesn't seem to hurt anything), once again I
- get ENOTTY on the TIOCREMOTE ioctl. Zmodem works but Kermit totally
- fails (the fork exits immediately with an exit code of 0, even though
- it didn't do anything).
- Mac OS X: Exactly the same sequence and results as NetBSD.
- Linux: It did not execute the new ioctl at all; apparently the TIOC
- symbols are hidden or not exported or something.
- Where we stand:
- . Downloads don't work
- . Uploads got slow again
- . Kermit doesn't work at all as an external protocol
- Actually if I take the debugging out it goes fast, but it doesn't
- finish.
- All today's work on ttptycmd() looks like a dead end. To roll back to
- yesterday:
- cp ckutio.c-20070108 ckutio.c
- cp ckupty.c-20070108 ckupty.c
- cp ckupty.h-20070108 ckupty.h
- or to continue with today's:
- cp ckutio.c-20070109 ckutio.c
- cp ckupty.c-20070109 ckupty.c
- cp ckupty.h-20070109 ckupty.h
- Comparing Monday's and Tuesday's pty-related code, the differences are:
- 1. Passing of function code to and among pty modules.
- 2. Skipping the TIOCSCTTY ioctl and the open("/dev/tty") test.
- 3. Attempting to put pty in TIOCTTY or TIOCREMOTE mode.
- Commenting out 2 and 3 should put us back where we were on Monday if
- the parameterization was done right. And with this, on Solaris,
- downloading with Kermit external protocol works but slowly, 8K cps,
- with or without debugging. Debug log does not show any obvious
- bottlenecks; select() takes anywhere between no time at all and 0.1
- seconds to return. If I increase the pty-net buffer size from 1K to 4K,
- the rate goes up to 55K cps. If I make it 8K I get 136K cps. With 16K I
- get 346K cps. 32K: 395K cps -- this last one isn't worth the doubling.
- But at 24K I get 490K cps, sometimes twice that. Let's stick with 24K
- for now. Downloading with Zmodem (rzsz) works at the same rate, but now
- we're back to seeing the getty babble (Several "**B0800000000022d") at
- the end. 10 Jan 2007. ===
- Moving to Mac OS X, everything works the same as on Solaris, except I
- don't get the Zmodem getty babble there, not even with Omen rzsz.
- Tested sends in both remote and local mode, the latter over a secure
- Kerberos 5 Telnet connection, using C-Kermit, rzsz, lrzsz, and crzsz,
- all good. 10 Jan 2007. ===
- Now we're back where we were yesterday morning, but with better
- throughput. The big issue then was receiving files. But yikes, now it
- works! Not only that, I got a transfer rate of 2.1M cps. That's using
- Kermit protocol, streaming, and big (4K) packets. Which didn't work
- before. Not a fluke either, I uploaded bigger and bigger files up to
- 6MB, they all went smoothly, at rates between 1 and 2 MBps. 10 Jan
- 2007. ===
- Not so great in Zmodem land, however. If I start the external-protocol
- receiver on the far end, escape back and start a Zmodem send...
- nothing. If I leave the remote C-Kermit at its prompt (where it
- supposed to recognize the Zmodem start string), still nothing. On the
- other hand, if I do it with a script instead of by hand:
- def xx output take blah\13, send /proto:zmodem \%1
- it works, at least intermittently. But that's in remote mode. We won't
- be using this in remote mode. In local mode, where we have a secure
- connection to another computer, it seems we can read from the pty and
- write to the net, but we time out waiting to read from the net; nothing
- arrives. Well, we know that i/o works both ways, so there is some kind
- of screwup with the Zmodem protocol start itself. Increasing the (still
- hardwired timeout) from 5 to 22sec and driving the whole process with a
- script so as to avoid autodownload as well as manual dexterity
- effects... It just sits there forever, way longer than 22 sec. ^C'ing
- out, I see that sz was indeed started on the far end and the protocol
- was executing. But it looks like the receiver (the one running under
- ttptycmd()) is getting trashed packets, because (a) it seems to be
- sending the same thing over and over again, and (b) sometimes it waits
- as long as 10 seconds before anything arrives from the remote. Maybe I
- was too impatient; I interrupted it after 4 minutes but it seems to
- have been making some progress. Whenever there was data available to
- read from the net, it was always 65 bytes, and it was not actually the
- same data over and over. This is using lrz as the external protocol.
- crz gets a bit farther. In this case we read up to 24K at a gulp, but
- the amount varies a lot. It looks like we took in about 1.2MB of Zmodem
- protocol data, but were only able to output the first 20K of the file.
- Clearly there were lots of errors. In the end, the crz exits with
- status 1 (failure).
- Anyway it looks like we're back at needing to find a way to accomplish
- something like TIOCREMOTE on the pty, which is where we came in. 10 Jan
- 2007. ===
- Without any way to make the pty transparent and flow controlled, it
- would seem to make sense to write to the pty in smaller chunks than we
- do to the net. I left the read-from-pty-write-to-net buffer at 24K and
- changed the read-from-net-write-to-pty buffer to 48 bytes.
- Upload using lsz worked but took about 3 minutes. Actually it didn't
- work. On the local end it seemed to work, but the file did not appear
- on the remote end. Tried this several times, each time with different
- results, adding more debugging each time. The problem this time was
- that the pty read could get EWOULDBLOCK. Changed the code to not treat
- this as an error, now Zmodem uploads are solid again except I never got
- EWOULDBLOCK again either, even though I repeated the same upload about
- 1000 times (with throughput of over 2MBps even with debugging on), so
- the test for it has not been exercised.
- OK, uploads still work. Back to downloading... The very first pty read
- gets 0 bytes, followed by the fork test that shows that it exited with
- exit status 2.
- Next we try starting sz with some different options on the far end:
- -q: quiet (no messages):
- for some reason this gets totally stuck.
- it looks as if this option is misdocumented;
- sz seems to be sending the letter C (as in Xmodem 1K or whatever)
- -e: escape (all control chars):
- first attempt to read pty finds the process gone with exit status 2.
- -k: send 1k blocks:
- this one didn't stop immediately. It reads 48 bytes from net, writes
- 48 to the pty with no error. Then reads 21 bytes from the pty, writes
- them to the net OK. Then reads 48 bytes from net, writes them to pty OK,
- reads 21 from pty, writes to net OK, etc etc... It appears to have
- worked but (final read from pty returned 0, fork test showed lrz exited
- with status 0), but only 754 bytes were received from the net when the
- file is 420K...
- Well this only goes to show that the faster we shove stuff into the
- pty, the worse it gets. Zmodem downloads won't work unless we can make
- the pty transparent and flow-controlled. So to summarize today's
- developments:
- . separated in/out buffer sizes
- . handled EWOULDBLOCK
- . found out that sz options don't help much
- 11 Jan 2007. ===
- Next day. This has got to be the most delicate code ever, it's like
- Whack-A-Mole, fix A and B pops up. Even without touching it, something
- that worked perfectly a 2:00 doesn't work at all at 3:00. Maybe I could
- have used pipes instead of ptys, but pipes have problems of their own.
- There has to be a way to do this. The telnet server, the SSH server,
- etc -- they all run on ptys, and we can upload files to them with
- Kermit. Why? Because Kermit puts its terminal into all the right modes
- using the time-honored methods of ttpkt() and ttvt(). Perhaps all we
- need is a copy of ttpkt() that operates on the pty.
- On that theory, let's go back to Kermit as the external protocol. It's
- important to suppress all messages and displays. With that, uploads
- work fine, no hitches.
- Downloads: We fail right away. The debug log shows the Kermit program
- that we are starting in the pty says:
- "" - Invalid command-line option, type "kermit -h" for help.
- But of course we are not giving it an invalid command-line option.
- Switching to gkermit for the external protocol, now we see that no
- matter command-line options we use, we read 0d 0d 0a from the pty and
- then the next time we go to read from the pty we get 0 bytes and
- waitpid() says the program has exited with status 1.
- Why should downloading be different from uploading? ttptycmd has no
- idea, it does everything the same. The only difference would seem to be
- which side sends first, but even that tends to get washed out by each
- program's startup messages.
- Downloading with Kermit worked 2 days ago, what's different now? The
- buffer sizes. Putting the net-to-pty back up to 24K (from 48 bytes)...
- Now it works again.
- Conclusion: Kermit conditions the pty correctly, Zmodem does not.
- Therefore ttruncmd() must duplicate what ttpkt() does.
- Or not. Because rz works fine on ssh/telnet ptys too. But not on our
- pty. lrz exits immediately with status code 2 = 01000 but there are no
- clues in the lrz.c source code, I don't even see this exit status set
- anywhere. Unredirecting stderr, I see that the error is "lrz: garbage
- on command line".
- Why do both Kermit and Zmodem sometimes think they are receiving an
- invalid command line? If I could capture the garbage...
- Side trip #1: ("pty.log",O_WRONLY) gives "no such file or directory".
- Changed this to ("pty.log",O_CREAT,0644) and now it doesn't get an
- error, and it creates the file, but not with 0644 permissions, and with
- nothing written in it. How come nothing works?
- Fine, the debug log shows that ttptycmd() receives the correct string
- (e.g. "lrz -v"). It passes it to do_pty() correctly, and do_pty()
- passes it to exec_cmd(), which runs cksplit() on it, coming up (in this
- case) with "lrz" and "-v", which is right, and then:
- args = q->a_head + 1;
- execvp(args[0],args);
- execvp() wants the args array to have a null element at the end.
- cksplit() does indeed do that, or at least the code is there. Added
- code to exec_cmd() to verify the argument list and that it is
- null-terminated. So far it is.
- Anyway, we have traffic between the Zmodem partners, but no joy.
- Commenting out the bit that redirects stderr, now I can see it on my
- screen in real time:
- lrz waiting to receive.Retry 0: Bad CRC
- Retry 0: Got ERROR
- Retry 0: TIMEOUT
- Retry 0: TIMEOUT
- Retry 0: TIMEOUT
- Retry 0: TIMEOUT
- etc etc, forever. Trying sz -e on the far end, I get:
- Retry 0: Bad CRC
- Retry 0: Garbage count exceeded
- Retry 0: Garbage count exceeded
- Retry 0: Garbage count exceeded
- Retry 0: Garbage count exceeded
- Retry 0: Garbage count exceeded
- Retry 0: Garbage count exceeded
- Retry 0: Garbage count exceeded
- ...
- Retry 0: Got ERROR
- Retry 0: Bad CRC
- Retry 0: Got ERROR
- Retry 0: Got ERROR
- lrz: xxufio.c removed.
- So apparently it's not a matter of escaping. Trying some other stuff, I
- caught the command-line problem in the act:
- lrz: garbage on commandline
- Try `lrz --help' for more information.
- Debug log shows:
- cksplit result[lrz]=1
- cksplit result[-v]=2
- exec_cmd arg[lrz]=0
- exec_cmd arg[-v]=1
- exec_cmd arg[]=2
- An empty string at the end instead of a null pointer. I really do not
- see any way that could happen, but rather than dig into cksplit() again
- after all these years I added a test for this in exec_cmd(), which, of
- course after adding it, never encountered this behavior again.
- Fiddled with pty buffer size again. Made it 512 bytes instead of 24K.
- Zmodem downloads are the same (Rety 0: TIMEOUT, over and over). But I
- don't see what the problem is -- every time we receive n bytes from the
- net, we write n bytes successfully to the pty and there are no errors.
- But it also looks like the remote sender is sending the file header
- over and over because it's not receiving an acknowledgment. If we're
- not losing data, then maybe it's a transparency problem.
- Tried uncommenting the TIOCblah stuff I commented out before. Now
- instead of only timeouts I get:
- lrz waiting to receive.Retry 0: Bad CRC
- Retry 0: Got ERROR
- Retry 0: Bad CRC
- Retry 0: Got ERROR
- Retry 0: Bad CRC
- Retry 0: Got ERROR
- Retry 0: TIMEOUT
- which is odd because the TIOCREMOTE ioctl failed with errno 14, EFAULT,
- bad address, which should indicate it had no effect. We're still
- receiving data from the remote in tiny chunks (from 12 to 65 bytes),
- apparently the same stuff (file header), and writing them to the pty
- successfully but nothing...
- Looked at cloning ttpkt() for the pty, but these stupid routines use
- global tty mode structs so it's not going to be easy.
- Well, we got exactly nowhere today, but I think I'll leave stderr as it
- is so users will see some feedback; no reason not to.
- WHY DO KERMIT DOWNLOADS WORK AND ZMODEM NOT?
- Is it 8-bit transparency? Up til now I've been testing with text files.
- If I try to download a binary what happens? Fails after 99 seconds.
- Packet log from the far end shows that as soon as the first packet
- containing 8-bit data is sent, everything stops. At least I got one of
- these:
- 17:23:56.475 exec_cmd arg[gkermit]=0
- 17:23:56.475 exec_cmd arg[-qr]=1
- 17:23:56.475 exec_cmd arg[]=2
- 17:23:56.475 exec_cmd SUBSTITUTING NULL=2 <-- the code I just added
- Doing this again shows the same thing on the near end. All the
- 7-bit-only packets are sent and acknowledged OK. Three 8-bit data
- packets arrive and nothing else happens after that. This is with
- G-Kermit.
- The same thing happens with C-Kermit receiving. But if I change
- C-Kermit's .kermrc to turn off streaming and use a short packet length:
- The transfer works, even though it's sending 8-bit bytes. So the
- problem is not 8-bit data after all, per se. Facts:
- . Kermit can receive streaming transfers of 7-bit files.
- . Kermit can not receive streaming transfers of 8-bit files.
- . Kermit can receive nonstreaming transfers of 8-bit files with short packets.
- . Kermit can receive nonstreaming transfers of 8-bit files with 1K packets.
- . Kermit can receive nonstreaming transfers of 8-bit files with 4K packets.
- So it's the combination of streaming and 8-bit data? 12 Jan 2007. ====
- As a test I made a new routine pty_make_raw() that does cfmakeraw() (a
- nonportable "POSIX-like" function known to be used on ptys in
- applications that do approximately what we're attempting). Results:
- Solaris: errno 25 - inappropriate ioctl for device.
- This happens even when we try to get the terminal modes with
- tcgetattr(), which is completely nuts. We pass it the file descriptor
- of the pty master, which is supposed to work. But in Mac OS X, there
- are no errors. But downloads still don't work; lots of errors but the
- pattern is different. Using a very small buffer:
- Retry 0: Bad CRC
- Retry 0: Garbage count exceeded
- Retry 0: Garbage count exceeded
- Retry 0: Got TIMEOUT
- Retry 0: TIMEOUT
- Retry 0: Bad CRC
- Retry 0: Bad CRC
- Retry 0: Garbage count exceeded
- Retry 0: Garbage count exceeded
- Retry 0: TIMEOUT
- Retry 0: Got ERROR
- Retry 0: TIMEOUT
- Retry 0: Garbage count exceeded
- Retry 0: Garbage count exceeded
- Retry 0: Bad CRC
- Using a bigger buffer:
- Retry 0: Garbage count exceeded
- Retry 0: Garbage count exceeded
- Retry 0: Garbage count exceeded
- Retry 0: Garbage count exceeded
- Retry 0: Garbage count exceeded
- Retry 0: Garbage count exceeded
- (several screensful)
- Various other combinations... Nothing seems to work.
- Insight: telnetd does exactly what we want to do, sort of. But it uses
- TIOCPKT, so every time it reads from pty, it receives one control byte
- and then the data bytes, which would complicate our buffering scheme
- considerably. Anyway the TIOCPKT ioctl() fails on Mac OS X with 14 "Bad
- address".
- Also see: snoopserver.c (found in Google). It seems to do things in a
- slightly different way -- it sets stdout to raw and then dups it to the
- slave side of the pty?
- Maybe it's a mistake to use the ckupty.c routines. They are designed
- for creating and accessing an interactive session. Maybe just copy one
- of the other programs. ====
- 18 Jan 2007. Tried going back to blocking rather than nonblocking reads
- to see if it would make a difference, after all the other changes.
- Nope. OK, let's look at some of these other programs...
- snoopserver.c. I don't know exactly what this is or where it's from or
- what platform it runs on and there are no comments to speak of, but it
- does approximately what ttptycmd() does. To get a pty it uses
- openpty():
- if (openpty(&pty, &tty, NULL, NULL, NULL) == -1)
- then creates a fork. In the fork, it closes the pty (master) and
- manipulates the modes of the tty (slave), dups tty to be stdio, and
- then doex execv() on the command. Meanwhile the upper fork closes the
- tty (slave), gets the attributes of stdin, using atexit() to have them
- automatically restored on exit. Then it sets stdin to raw mode and
- enters the select() loop on stdin, the pty master, and the net. It uses
- regular blocking reads. It does not use TIOCPKT or anything like it.
- openpty() is supported on: Linux, Mac OS X, NetBSD, FreeBSD, ...
- openpty() is NOT supported on: Solaris, HP-UX, ...
- 1. Try copying the pty code, but keep everything else the same.
- I did this; it compiles and starts OK, upper fork (ttptycmd) debug log
- shows no errors, but nothing happens. Logs show that the Kermit program
- that is started in the subfork seems to die as soon as it reaches eof
- on its init file. The good news, at least, is that select() doesn't
- report report that the pty is ready to be read. Clearly the file
- descriptors aren't being assigned as expected, or as before.
- In ckupty.c getptyslave() dup2's the slave fd to 0 and 1. The new code
- does exactly the same thing. Debug log makes it look like the forked
- kermit is not receiving its command line. But now I'm not even sure
- that the forked kermit started at all. ps from another terminal doesn't
- show it. ====
- 19 Jan 2007: Noticed that in snoopserver, the select() calls use
- standard input and output file descriptors, rather than the pty master.
- Made that change... In doing that I had to look at every file
- descriptor in every line of code and discovered a couple mistakes,
- fixed them, put back the original code but with the fixes, tried it,
- but no change; can upload OK but still can't download with Zmodem
- without lots of errors and ultimate failure. Going back to the
- alternative version and trying to get the the file descriptors sorted
- out, now it appears that the external Kermit program never even starts
- in the lower fork. After a bit more fiddling I sort that out, but now
- when the lower Kermit program goes to open "/dev/tty" it gets errno 6
- "Device not configured". Forcing it to use stdio with "-l 0", it gets
- past this and actually sends its first packet. But the Kermit on top
- reads nothing from the pty.
- Next, I change the pty fd from STDIN_FILENO and STDOUT_FILENO to
- slavefd. No difference. Next I comment out the dup2() calls. This time
- I get some action. The transfer starts, but only one packet comes. Log
- shows that the lower Kermit sends its S packet. The upper Kermit
- receives the ACK but the lower Kermit never gets it. The write to the
- pty succeeds, no error. Different combinations give different results.
- If write to master and read from the slave, I get packets in both
- directions but tons of errors.... This happens only if I comment out
- the dup2()'s.
- 25 Jan 2007: After leaving it sit for a while, and realizing that what
- I'm trying to do has to be possible because so much other software does
- the same thing (e.g. Telnet servers), I put things back to how they
- were originally -- the upper fork (Kermit) uses the master and the
- lower fork the slave. The upper fork puts the master in raw mode, the
- lower fork puts the slave in raw mode. The lower fork dup2's the slave
- fd to stdin/out. Send file in remote mode using external Kermit: works
- OK but select() times out at the end. This means that the
- self-contained pty code in ttptycmd() is sorted out -- all the file
- descriptors go to the right place, etc, and now we can use this routine
- as a testbed, rather than the original ckupty.c-based one.
- But send with lsz, csz, and regular rz: Nothing happens, times out
- after 0 bytes of i/o. Once again, Kermit works, Zmodem doesn't. The
- reason for running Zmodem in a pty is so its i/o will work as it does
- on a terminal, no matter how it may fiddle the file descriptors. So why
- don't we see a single byte come out?
- Commenting out pty_make_raw(), I get a successful Zmodem send using
- lsz. csz manages to get the filename across, but then gets stuck.
- regular sz, on the other hand, works perfectly. Testing csz by itself
- (not under Kermit), I see it fails in exactly the same way ("Got phony
- ZEOF", etc). OK, forget crzsz.
- OK, let's move to local mode over a Kerberized Telnet connection...
- Uploading (sending) with external Kermit protocol... works. Downloading
- (receiving) with external Kermit protocol... works. Uploading with
- sz... works. Downloading with lrz... Gets tons of errors and fails.
- Running pty_make_raw() on the slave but not on the master: no
- difference. Running pty_make_raw() on the master but not on the slave:
- no difference.
- Back where we started... Either:
- . Zmodem is overdriving the pty, no matter what modes we put it in.
- . It's a transparency problem.
- Theoretically we should be able to test these by using different sz
- switches:
- -q: quiet (should always use this)
- -e: escape all control characters
- -B n: Buffer n bytes (rather than whole file)
- -L n: Packet length
- -l n: Frame length (>= packet length)
- -w n: Window size
- -4: 4K blocksize (doesn't help)
- -q by itself doesn't help. -q -e, this one worked but still got about
- 100 errors and was very slow. -q -e -l 200 -L 100, failed fast and bad.
- -q -e -w 1. Failed quickly. -q -e -w 1 -B 100. Eventually failed. -q -w
- 1, Eventually failed. -q -l 1024, this gets much more errors,
- definitely need -e. -q -e -l 1024, got pretty far before failing. -q -e
- -w 1 -l 1024, also got pretty far before failing. -q -e, this one got
- farthest of all, about 48K, before getting errors.
- In the latter combinations that work somewhat better, we always get up
- to 16K, or 32K, or 48K, before the errors start coming out and piling
- up. Sometimes the errors are recoverable and we receive as much as 300K
- successfully before giving up.
- Now that we have data flowing pretty well (but not well enough), tried
- reinstating pty_make_raw(), but it hurt more than helped.
- As a sanity check, I tried transferring from the same host over the
- same kind of connection (Kerberized Telnet) directly to K95's built-in
- Zmodem protocol, and that worked fine. So the problem is definitely in
- the pty. Or more precisely, where Kermit writes incoming net data to
- the pty master. ====
- 26 Jan 2007: Tried changing the size of the net-to-pty buffer from 24K
- to 1K. Result: total failure. Set both buffers to 1K. Still total
- failure. Set both to 4K: now we get about 45K of data, then failure.
- Put them both back to 24K, still fails totally -- the same code that
- worked pretty well yesterday. Actually, no downloads work, not even
- Kermit, not even of text files. ====
- 27 Jan 2007: Since I have not been able to find a way to make ptys work
- for this, I made a third copy of this routine, this time using pipes
- instead of ptys. The disadvantage here is that if the external protocol
- does not use stdio, the pipes won't work, but one thing a time...
- Inferior Kermit starts in lower fork, but when it tries to send its
- first packet it gets errno=9 EBADF, Bad File Descriptor. Substituting
- G-Kermit as the external protocol, which is simpler, reveals that the
- problem is that the external protocol gets errors when it tries to
- manipulate the its stdio file descriptors with ioctls, etc; these are
- not valid for a pipe. The pipe mechanism itself works. If I take out
- the test for ttpkt() failing in gkermit, the file transfer works OK.
- Trying Zmodem... Sending works OK; receiving works a lot better than
- with ptys (it got 360K into the file before failing). Making the
- buffers smaller, doesn't help.
- I'm starting to wonder if the problem might be in my buffering code,
- rather than in the pty or pipe interface... Try making a version that
- does single-character reads and writes.
- This one reads the first packet from the lower Kermit and sends it. It
- is recognized by the other Kermit, which sends an ACK. We see the ^A of
- the ACK, but then select() times out on the next character -- OF
- COURSE: because at a lower level, it has already been read. We have to
- check the myread buffer, and then call select() only if it's empty.
- Making this change:
- . SEND with G-Kermit works (but very slowly).
- . SEND with lsz works but gets a lot of errors, eventually succeeds.
- Let's work our way back... With the same changes to the buffered pipe
- version:
- . SEND with G-Kermit/streaming works (fast).
- . SEND with lsz works too (fast), but we get gubbish at the end.
- . RECEIVE with Kermit fails because "/dev/tty is not a terminal device".
- . RECEIVE with rsz... lots of errors ("garbage count exceeded") but succeeded.
- But maybe now we're seeing pipe artifacts, so going back one more step
- to the version that gets its own pty and starts its own fork:
- . SEND with G-Kermit/Streaming works (fast) but select() times out at the end.
- Another breakthrough: Moved the write pieces to below the read pieces.
- This is what was preventing the buffer reset code from working -- with
- the writes done before the reads, we never catch up and can never reset
- the buffers.
- . SEND with G-Kermit/streaming works (fast) (but there's a pause at the end)
- . SEND with lsz works (fast) (but there's a pause at the end)
- . RECEIVE with rsz... lots of errors ("garbage count exceeded") and fails.
- . RECEIVE with Kermit -- nothing happens (it thinks it succeeded), then we
- reconnect, terminal sees S packet and goes into autodownload
- From the log it looks like ttpkt() fails in the lower Kermit. Switching
- this with the hacked G-Kermit... it gets "transmission error on
- reliable link". Tried again with real Kermit below, this time with "-l
- 0" and not streaming. This was actually working, but slowly, I don't
- see any NAKs in the packet log, but then select() timed out.
- 28 Jan 2007: Restored both the calls to pty_make_raw():
- . SEND with C-Kermit streaming works, but slow (54Kcps)
- . Ditto, but with debugging off -- hangs forever.
- . Ditto, but using G-Kermit instead of C-Kermit -- also hangs forever.
- Backed off on calling pty_make_raw(). Same thing. Reduced size of
- net-to-pty buffer. Same thing.
- ==== 15 Feb 2007... Decided to give up on this and publish it as is, in
- hopes that somebody with more experience with ptys can make it work,
- because I'm just going in circles. So today I just have to get the code
- into shape so people could choose among the three alternative routines.
- The second one, yttyptycmd(), is the one that uses openpty(), which is
- not portable, so it can be enabled only for Mac OS X, NetBSD, FreeBSD,
- and Linux, or by also defining HAVE_OPENPTY at compile time. Anyway, if
- you build Kermit in the normal way, you get the regular behavior --
- ttruncmd() is used to execute external protocols. If you build it with
- -DXTTPTYCMD, you get the first version of ttptycmd(); with -DYTTPTYCMD
- the second, and with -DZTTPTYCMD the third.
- (Then some interruptions, then...)
- From Jeff, fix hostname comparison in X.509 certificate checking to
- work right in the case of names that contain no periods. dNSName_cmp():
- cl_ssl.c, 21 Feb 2007. ====
- John Dunlap noticed some strange behavior when transferring files
- between home base and the EM-APEX oceanographic floats via satellite...
- long story, but every so often the transfer would get stuck for a long
- time, and it happened only when C-Kermit was sending a file and
- received two or more packets (Ack or Nak) back to back from the float.
- Years ago I added some lookahead code to ttinl() to clear the input
- buffer of any interpacket junk so that, in the windowing case, we
- wouldn't be tricked next time around into thinking a packet was waiting
- to be read when there wasn't. The code, which has been there for a
- while, was a bit fractured; luckily, it would be executed only when the
- debug log was active so it didn't have much effect. The problem was
- that if the SOP came immediately after the EOP, it could be missed
- because the loop read the next character before checking the current
- one. Fixed by rearranging the loop. Also I changed it so it would
- execute in all cases, not only when the debug log was active. Also,
- cleaned up a bunch of confusing #ifdefs and removed some chunks that
- had been commented out for years, decades maybe. ttinl(): ckutio.c,
- 21-22 Feb 2007. ====
- Added NOW keyword info to HELP DATE, plus a tip about how to convert to
- UTC; suggested by Arthur Marsh. ckuus2.c, 22 Feb 2007. ====
- When an FTP client sends NLST to the server and no matching files are
- found, the server is supposed to respond with an error message on the
- control channel and nothing on the data channel. However it seems that
- at least one server sends the error message back on the data channel,
- as if it were a filename ("/bin/ls: blah: No such file or directory"),
- and on the control channel there is no error indication ("226 ASCII
- Transfer complete"). At this point remote_files() has a listfile and,
- if a match pattern was given, it looks through list to see if any of
- the lines match the given filename, e.g. "blah". This makes FTP CHECK
- give false positives. The problem (diagnosed by Jeff) is that the match
- pattern was not given in this case, so it takes some random default
- action, resulting in the spurious success return. Fixed by using the
- user's string as the pattern. Not tested, however, since I don't have
- access to a server that behaves this way. ckcftp.c, 22 Feb 2007. ====
- If an external-protocol file transfer fails, don't print
- Kermit-specific hints. ckuus5.c, 22 Feb 2007. ====
- One more time with ttinl(). Got rid of the "csave" junk, which never
- could have worked (which is no doubt why it was in a debugging
- section). The problem was that saving the beginning of the next packet
- locally did not synchronize with the buffer clearing (ttflui()) done at
- a higher level, between calls to ttinl(). So now, the lookahead code,
- if it finds the beginning an as-yet unread packet, puts it back at the
- head of the input queue. This way, if the protocol engine clears the
- input buffer, it will get the whole packet, not just the part after the
- SOH. ckutio.c, 24 Feb 2007. ====
- From Steven M Schweda, Saint Paul, MN: adaptation of large file support
- to VMS (it was already possible to transfer large files in VMS C-Kermit
- but the file-transfer display and statistics were wrong). And a minimal
- adaptation of the FTP client to VMS -- no RMS, no special VMS file
- stuff, Stream_LF and binary files only, developed and tested only with
- UCX. SSL/TLS is supported. The source-code changes are minimal; most
- have nothing to do with VMS, but with header files, prototypes, and
- data types (e.g. ftp_port int rather than short, various
- signed/unsigned conflicts) to shut up compiler warnings. Some of these
- could be dangerous in terms of portability; I've marked them with /*
- SMS 2007/02/15 */. ckcfns.c, ckcnet.h, ck_ssl.h, ckuus3.c, ckuus4.c,
- ckvfio.c, ckcftp.c, ckvker.mms (which was rewritten to actually reflect
- the source module dependencies), ckvker.com (also heavily modified).
- ckvker.com (the "makefile" for VMS C-Kermit) now includes "F" and "I"
- option flags for the large File and Internal ftp features, plus better
- handling of Vax/Alpha/IA64 distinction. 26 Feb 2007. ====
- Changed NetBSD targets to include -DHAVE_OPENPTY and -lutil, so they
- can use openpty(). makefile, 26 Feb 2007. ====
- Built on Solaris without and with SSL OK. Built on NetBSD with Kerberos
- 5, OK. Built on Mac OS X 10.4, regular version, OK. Built on Mac OS X
- 10.4 with SSL and Kerberos 5, OK.
- On VMS 7.2-1/Alpha with MultiNet 4.4A-X...
- 'CC' 'CCOPT' KSP:ckuus3 %DCL-W-TKNOVF, command element is too long -
- shorten
- \CKUUS4.OBJ "'CC' 'CCOPT' KSP:ckuus4" "KSP:ckuus4.c KSP:ckcsym.h KSP:ckcdeb.h
- KSP:ckclib.h" "KSP:ckcasc.h KSP:ckcker.h KSP:ckcnet.h KSP:ckvioc.h"
- "KSP:ckctel.h KSP:ckuusr.h KSP:ckucmd.h KSP:ckuver.h" "KSP:ckcxla.h
- KSP:ckuxla.h KSP:ckcuni.h KSP:ckuath.h"
- The new rule for ckuus4.c was too long. I removed one file from the
- dependency list (ckcxla.h, which will probably never change again) and
- that made it OK. Built Nonet and Net versions OK, but this is without
- the new stuff.
- "make f" (large-file support) on VMS 7.2-1... 'CC' 'CCOPT' KSP:ckuus4
- if (CKFSEEK(fp,(CK_OFF_T)j,SEEK_CUR) != 0) {
- ........................^ %CC-I-IMPLICITFUNC, In this statement, the
- identifier "fseeko" is implicitly declared as a function.
- Ditto for ftello and fseeko in various other places, and then fseeko
- and ftello come up up undefined at link time.
- The rule for ckcftp in "make i" (Internal FTP support) had the same
- problem. I removed ckcxla.h from its dependency list too, but "utime"
- comes up undeclared at compile time and undefined at link time.
- Verdict: neither one of the two new features can be used in VMS 7.2 or
- earlier, but the code still builds OK if you don't ask for them.
- VMS 8.3 on IA64... Can't build anything: %MMS-F-BADTARG, Specified
- target (WERMIT) does not exist in description file
- 27 Feb 2007: Changed CKVKER.COM to keep all its dependencies but use a
- shorter logical name (Steven M Schweda). The problem on VMS 8.3 is that
- MMS now supports case-sensitive file systems, and so it can't find
- anything. Workaround: bypass MMS (include "m" in P1). With this,
- "@ckvker.com ifm" builds OK on HP Testdrive, but I can't test the new
- features since outbound connections are not allowed there. As for
- fseeko(), ftello(), and utime(), they simply are not available prior to
- VMS 7.3. It would probably be a good idea to test for this in
- CKVKER.COM, but actually it is possible to install newer C's and CRTLs
- on older VMS versions, so don't stand in their way.
- 28 Feb 2007: With additional changes from SMS, and then some further
- adjustments, I was able to build the FTP version on VMS 7.2-1. First I
- tested it with GET of a binary file, but it transferred it in text
- mode. After a few more attempts with PUT and GET, it crashed with
- "floating/decimal divide by zero" in ckscreen, ckuusx.c line 27859. Of
- course, that's the listing line, not the source line, and I don't have
- a listing.
- To get a listing, I deleted CKUUSX.OBJ and then did:
- $ make i "" "" "/LIST"
- Surprisingly, it recompiled everything.
- Anyway, the divide by zero happened in a section of code where the
- divisor was not checked, but it was a section of code we should not
- have been executing at all, since the file-transfer display was
- fullscreen, and this was in the "brief" section. Anyway, I added the
- needed check. Again, it recompiles everything. Maybe there's no MMS on
- grumpy -- right, there isn't.
- ANYWAY... Try to GET a binary file like this:
- binary
- ---> TYPE I
- 200 Type set to I.
- get gkermit
- ---> TYPE A
- 200 Type set to A.
- ---> SIZE gkermit
- 550 gkermit: file too large for SIZE.
- GET gkermit (text) (-1 bytes)---> TYPE A
- Anyway... "get /binary gkermit" downloads it, seemingly correctly (the
- byte count is right).
- But "put /binary gkermit.;1" results in a 0-length GKERMIT file being
- sent. Here's the debug log:
- FTP PUT gnfile[DISK$MSA4:[C.FDC.NET]gkermit.;1]=1 ftp putfile
- flg[DISK$MSA4:[C.FDC.NET]gkermit.;1]=0 zltor
- fncnv[DISK$MSA4:[C.FDC.NET]gkermit.;1]=-1 FTP PUT nzltor[GKERMIT]
- zfnqfp 1[DISK$MSA4:[C.FDC.NET]gkermit.;1]=675 zfnqfp
- 2[DISK$MSA4:[C.FDC.NET]GKERMIT.;1]=31 zfnqfp
- 3[DISK$MSA4:[C.FDC.NET]GKERMIT.;1]=31 zrelnam result 2[gkermit.;1] ftp
- sendrequest restart[DISK$MSA4:[C.FDC.NET]gkermit.;1]=0 openi
- name[DISK$MSA4:[C.FDC.NET]gkermit.;1] openi sndsrc=-1 openi file
- number=2 zopeni[DISK$MSA4:[C.FDC.NET]gkermit.;1]=2 zopeni fp=0 chkfn=2
- chkfn return=0 zopeni fixed file format - using blk I/O zopeni binary
- flag at open=1 zopeni ifile_bmode=1 zopeni binary=1 zopeni RMS
- operations completed ok openi zopeni
- 1[DISK$MSA4:[C.FDC.NET]gkermit.;1]=1 ftpcmd cmd[PASV] FTP SENT [PASV]
- FTP RCVD [227 Entering Passive Mode (166,84,1,2,233,216)] initconn
- connect ok FTP SENT [STOR GKERMIT] FTP RCVD [150 Opening BINARY mode
- data connection for 'GKERMIT'.] doftpsend2 ftpcode[STOR]=150
- Here is where the file is supposed to be read and sent but there is nothing
- in the log between the "doftpsend2 ftpcode" line and the following line.
- rftimer status=1 gftimer status 1=1 gftimer status 2=1409025 gftimer
- status 3=1409025 gftimer s[0.000000] zclose n=2 chkfn=2 chkfn return=1
- zclose ZIFILE RMS operations completed ok ftp getreply lcs=0 ftp
- getreply rcs=-1 ftp getreply fc=0 FTP RCVD [226 Transfer complete.] ftp
- getreply[226 Transfer complete.]=2 doftpsend2 ok=0
- Everything is OK up until we go to send the file, then it behaves as if
- we got EOF immediately and so closes the data connection, and reports
- success; an empty copy of the file is left on the far end.
- Starting over with a text file.... PUT LOGIN.COM gets another divide by
- zero. But it happened in the code I just fixed, which is impossible.
- Swell. I recompiled everything and this time the upload worked, and
- downloading it again worked too.
- But a binary file still can't be uploaded. Trying to upload a text file
- after doing this seems to succeed (reports the right number of bytes
- sent) but nothing appears on the far side.
- SUMMARY:
- To download a text file: GET /ASCII blah.txt (/ASCII is optional)
- To download a binary file: GET /BINARY blah.bin (/BINARY is required)
- To upload a text file: PUT blah.txt (/ASCII switch not needed)
- To upload a binary file: PUT /BINARY blah.bin (doesn't work)
- Problems:
- . Why doesn't BINARY "stick"?
- . Why don't binary uploads work?
- The culprit seems to be the VMS version of zxin(). In the FTP module,
- zxin() is called only when sending binary files. In VMS, zxin() is just
- a front end for C-Library fread(). It probably needs to do just do
- zminchar() in a loop, like binary mode does, but calling zzout instead
- of xxout. Or something like that. FINISH THIS TOMORROW (debug on
- grumpy). ====
- 2 Mar 2007: New logs from John Dunlap.
- ema-1636-log-0175.dbg: C-Kermit uploads a short file. It receives an
- Ack for the Z packet it just sent, tailgated by the beginning of a Nak
- for the next packet. When the second SOH is encountered, it is put back
- in the myread queue. Then the protocol engine, to which we return the
- Ack, says, "I have the packet I wanted so I'm clearing the buffer", and
- away go the first two bytes of the Nak from the myread buffer. Then,
- having just received the Ack of our Z packet, we send our B, and go to
- read the reply. in_chk finds 0 in the myread buffer (which we just
- cleared) and 6 waiting to be read from the comms channel, which it
- does, obtaining the remaining 6 bytes of the Nak, which it properly
- discards. (The reason this is proper is that, having already received
- the Ack for the last packet it sent, no Ack or Nak that arrives
- subsequently -- in the non-windowing case -- could possibly affect what
- it does next.) Since it hasn't yet found a good packet, it keeps
- reading, and now it finds the Ack to the B, as soon as it showed up.
- This is how it's supposed to work. No time was lost because of anything
- that C-Kermit did.
- ema-1636-log-0174.dbg: C-Kermit uploads a short file. It sends Data
- packet #3 and receives the Ack followed immediately by the first 3
- bytes of a Nak for packet 4. When it gets to the SOH of the second
- packet, it pushes it back in the queue. Again, input() flushes the
- input buffer (myread queue and device buffer). C-Kermit detects EOF on
- the file it is sending, and sends the Z packet. Then it reads the
- remaining bytes of the Nak, which it discards, and then it finds the
- Ack for Z which comes in 23 seconds later, sends the B, gets a Nak for
- the B, sends the B again, gets the Ack for the B 4 seconds later, and
- done. Again, it's working right and losing no time.
- The question remains: what would happen if the protocol engine did not
- clear the buffer? Would ttinl() retrieve all packets in sequence even
- when they come back to back? To test this, I had C-Kermit send a file
- using 30 window slots and observed the stream of Acks in the reverse
- direction:
- HEXDUMP: mygetbuf read (16 bytes)
- 01 25 23 59 2f 52 39 0d | 01 25 24 59 2b 26 31 0d .%#Y/R9. .%$Y+&1.
- ttinl lookahead my_count=9
- ttinl lookahead removed=^M
- ttinl lookahead pushback SOP=^A
- HEXDUMP: ttinl got (7 bytes)
- 01 25 23 59 2f 52 39 | .%#Y/R9
- RECEIVE BUFFERS:
- buffer inuse address length data type seq flag retries
- 0 1 29212 9667 0 Y 3 0
- [^A%#Y]
- ...
- in_chk my_count=8
- ...
- ttinl lookahead my_count=1
- ttinl lookahead removed=^M
- HEXDUMP: ttinl got (7 bytes)
- 01 25 24 59 2b 26 31 | .%$Y+&1
- RECEIVE BUFFERS:
- buffer inuse address length data type seq flag retries
- 0 1 29212 9667 0 Y 4 0
- [^A%$Y]
- Here we can see that the pushed-back SOH was properly retrieved next
- time around, and the tailgating Ack was not lost. This scenario repeats
- itself 212 times in the log, and there are no screwups.
- Back to VMS FTP... The problem with sending binary files is that zxin()
- uses C-Library fopen()/fread() instead of RMS, so it can't access the
- input file, which was opened by zopeni(), which is totally RMS-ified in
- VMS C-Kermit. For VMS only, I replaced the zxin() loop by a zminchar()
- loop like the one used in text mode, except without the character set
- or record-format conversion. Tested by PUT /BINARY of some binary
- files, which worked fine. ckcftp.c, 2 Mar 2007. ====
- Next problem... VMS C-Kermit ftp client sending binary files in text
- mode. Variation 1: We just send the file. zopeni() is supposed to
- detect that it's a binary file and automatically set the mode. And it
- does:
- zopeni fixed file format - using blk I/O
- zopeni binary flag at open=0
- zopeni ifile_bmode=1
- zopeni binary=0
- zopeni autoswitch from TEXT to BINARY
- zopeni RMS operations completed ok
- but then in gnfile():
- if (!server || (server && ((whatru & WMI_FLAG) == 0)))
- binary = gnf_binary; /* Restore prevailing transfer mode */
- Well, since VMS sets text/binary mode automatically when sending files,
- this code can (and should) be skipped in VMS. gnfile(): ckcfns.c, 2 Mar
- 2007.
- Variation 2: BINARY or SET FILE TYPE BINARY doesn't force binary mode.
- But SET FTP TYPE BINARY does. But BINARY does indeed call doftptyp() so
- what's the problem? We do indeed set ftp_typ to 1 but it gets reset
- somewhere before we call zopeni(). But then zopeni() puts it back to 1.
- Tracing through a transfer, it looks like all of this works right, it's
- only that the file transfer display says TEXT when the transfer is
- really in binary mode. This is because screen() is called before
- openi(). I wonder if we can call scrft() from the ftp module... No,
- that would be too easy. OK, sendrequest calls openi() and sets the file
- mode; putfile() calls screen(SCR_FN), which prints the transfer mode.
- But putfile calls sendrequest() after it puts up the screen that says
- the file type. So it looks like sendrequest() has to call
- screen(SCR_FN) again if it changes the file type. OK, that did it.
- ckuusx.c, ckcftp.c, 2 Mar 2007.
- The BINARY and TEXT (ASCII) commands do not inhibit automatic type
- switching in VMS. They don't in Unix either. They never have. Should
- they? I think so, otherwise what good are they? Plus we want the Kermit
- FTP client to behave like the others. I added code for this but it
- doesn't work, due to the layers and layers of text/binary detection and
- switching and if-this-but-then-if-that... Anyway, no harm done. The
- normal rule is: when you PUT a file, Kermit figures out on a per-file
- basis whether to use text or binary mode unless you include a /TEXT
- (/ASCII) or /BINARY switch in the PUT (or MPUT) command. ckuus[r3].c,
- ckcftp.c, 2 Mar 2007. ====
- Wed Mar 7 16:21:13 2007 WROTE SHORT TEST PROGRAM for ttruncmd (the
- openpty version) on Mac OS X. On dulce: ~/kermit/ttpty.c / ttpty.sh. It
- starts the external protocol in the lower fork. The command to run is a
- command-line argument. Sending and receiving files with Kermit works
- OK. But again, the standalone program totally fails when I use sz or
- lsz as the external protocol. So it looks like we can rule out any
- environmental effects of running the code inside C-Kermit. ====
- Mon Mar 12 16:52:20 2007: Put some effort into making ttpty.c more
- useful; added a debug log. Found that for some reason, at least on Mac
- OS X, select() always timed out at the the end. I added a SIGCHLD alarm
- and that seems to handle the fork exit condition very nicely. Now we
- can send (say) a 3MB file at good speed on Ethernet (1Mcps) considering
- the debugging, etc, and it terminates instantly. But when sending a
- file into ttptycmd (with "gkermit -r"), things go wrong at the end --
- the Z packet is never acknowledged. This is reproducible. Maybe this is
- a good lead.... The log shows that select() timed out, even though the
- gkermit fork had not yet exited (or finished). It looks like gkermit
- sent the Ack, ttpty.c read it from the pty and sent it out the net:
- 0003: read pty=8 <-- read Ack from pty
- 0003: loop top have_pty=1
- 0003: loop top have_net=1
- 0003: FD_SET pty_in
- 0003: FD_SET ttyfd in
- 0003: FD_SET ttyfd out=8
- 0003: nfds=5
- 0003: select=1
- 0003: FD_ISSET ttyfd out
- 0003: write net=8 <-- send ack to net
- 0003: loop top have_pty=1
- 0003: loop top have_net=1
- 0003: FD_SET pty_in
- 0003: FD_SET ttyfd in
- 0003: nfds=5
- 0009: select=0
- 0009: select timeout - have_pty=1
- But Ack never arrived. This is a streaming transfer. But nope,
- streaming is not the problem. If I disable streaming ("gkermit -Sr"),
- we hang in in the middle of sending the data. If I use small packets,
- we don't hang: 1000 is OK, 2000 is not. In fact, the cutoff is 1024.
- OK, TBC... ====
- Wed 14 Mar 2007: Receiving a file thru ttpty "gkermit -e 1200 -Srd"
- produces a debug log that shows that gkermit gets a lot of EAGAIN
- errors when it tries to read from its stdin. In fact, it takes 6 tries
- (read() calls) to read the S packet (27 bytes). Then when the first
- data packet arrives (1200 bytes), read() never returns even one single
- byte. The timeout interval is 15 seconds and it times out repeatedly.
- Added a primitive hex dump to the ttpty debug log for each read/write
- (showing only the first 24 characters and the last character, so it
- fits on one line). Tried uploading a file. The S, F, and A packets
- (short) are received and Ack'd OK, but then ttpty select() times out,
- never receiving even one byte from the D packet. Clearly, when the pty
- driver receives a burst of > 1K bytes, stops working. As before, if I
- limit the packets to < 1K, it works fine.
- Can I send an 8-bit binary file? Nope. ttpty reads the binary data just
- fine from the net and writes it exactly as it was received to the pty,
- but the first time we write an 8-bit byte, we never hear back from the
- PTY again. But the log shows that when the initial 7-bit packets from
- the pty, it looks like the PTY is not in rawmode, because these packets
- end with ^J rather than ^M. Calling pty_make_raw() on the masterfd and
- slavefd explicitly, however, doesn't change anything. It doesn't matter
- if I do this in the lower fork or the upper fork. So maybe it's the
- actual semantics of pty_make_raw() that are wrong.
- Thu 15 Mar 2007: Went thru all the terminal mode flags in Mac OS X;
- didn't help. Changed hex dump to show whole packet. Put hex dump
- routine in a private copy of G-Kermit. Tried to transfer an 8-bit file,
- logging both ttpty and gkermit. Compared what ttpty received on stdin
- with what it sent to the pty (same) and what was received by G-Kermit
- (same). Then I realized that my little test program was not putting its
- controlling terminal into raw mode; when I did that, I could upload
- binary files (streaming, 2MB/sec). And with Zmodem too (with rz; lrz
- doesn't work for some reason). Looking back at the original in
- ckutio.c, I see that ttptycmd() never called ttpkt(). Maybe that was
- the trouble all along. (Yup, but maybe not the whole trouble.)
- Moving back to C-Kermit and the original ttptycmd() routine, adding the
- call to ttpkt(), and stripping out a lot of cruft, and moving the
- pty_make_raw() code to ckupty.c, Kermit uploads and downloads
- (streaming) work fine in Solaris. Zmodem sends a file, but then the
- transfer hangs at the very end, as if the signoff protocol were lost.
- This happens on Solaris. If I move back to Mac OS X, everything works
- just fine. Then, making a Kerberized connection from the Mac to NetBSD,
- I can send files from the Mac with both Zmodem and Kermit. Receiving...
- Kermit OK. Zmodem... Nope. "rz: Persistent CRC or other ERROR" (and
- created a 265MB debug.log!) ====
- Fri 16 Mar 2007: ttptycmd() was for sending files with Zmodem across
- encrypted connections. But it occurred to me that it's necessary for
- clear-text connections too; e.g. Telnet, where 0xff has to be doubled.
- Of course Zmodem doesn't do that itself, so there's no way Zmodem
- external protocol could work when executed over a Telnet connection,
- and in fact it doesn't. I wonder why I ever thought it did. ====
- Wed 21 Mar 2007: Back to where we left off a week ago. Trying
- C-Kermit's ttptycmd() on the Mac again, in remote mode:
- . G-Kermit send txt (kst): OK 832Kcps
- . G-Kermit recv txt (kr): OK 425Kcps
- . G-Kermit send bin (ksb): OK 1000Kcps
- . G-Kermit recv bin (kr): OK 188Kcps
- And Zmodem:
- . sz txt (zst): OK 563Kcps
- . sz bin (zsb): OK 714Kcps
- . rz txt (zr): OK 863Kcps
- . rz bin (zr): OK 198Kcps
- So in remote mode, everything works. Now let's try a clear-text Telnet
- connection...
- . G-Kermit send txt (kst): OK 841Kcps
- . G-Kermit recv txt (krt): OK 391Kcps
- . G-Kermit send bin (ksb): OK 811Kcps
- . G-Kermit recv bin (krb): OK 171Kcps
- And Zmodem over the same clear-text telnet connection:
- . sz txt (zst): OK 91Kcps (*)
- Kermit is sending sz messages like "sz 3.73 1-30-03 finished." to the
- host, which tries to execute them, after the transfer is finished. Of
- course "sz" is a command, but:
- sz: cannot open 3.73: No such file or directory
- sz: cannot open 1-30-03: No such file or directory
- sz: cannot open finished.: No such file or directory
- Did I lose that code that dis-redirects stderr when I went back to
- using the pty code from the ckupty module? No, it's there and it's
- being executed. Apparently the copy of sz I have is writing its
- "finished" message to stdout because "sz blah 2> /dev/null" does not
- suppress it. Starting again with lsz instead of sz:
- . sz txt (lzst): OK 413Kcps
- . sz bin (lzsb): OK FAILED (*)
- . rz txt (lzrt): OK
- . rz bin (lzrb): OK
- (*) Sigh. Using lsz, we get "garbage count exceeded" errors and
- eventual failure. But using regular sz, we get the extraneous message
- that starts sz on the far tend, and the resulting getty babble.
- But even without changing the code, it will work one minute, and then
- fail consistently the next. For example, I was able to send files with
- sz successfully over and over, but with the getty babble at the end.
- Then, after trying lsz and then going back to sz, every attempt at
- sending a file quits with "Got ZCAN". The difference has to be that
- Kermit always does at least some minimal encoding of C0/C1 control
- characters such NUL and DEL and IAC, and I doubt that Zmodem does.
- [7]http://zssh.sourceforge.net/ says:
- If file transfer is initiated but never completes (ie a line like :
- Bytes Sent: 0/ 513 BPS:0 ETA 00:00 Retry 0: Got ZCAN
- can be seen, but transfer never completes), chances are the pty/tty on one
- of the systems are not 8-bit clean. (Linux is 8-bit clean, NetBSD is not).
- Using the -e (escape) option of rz should solve this problem.
- It doesn't, at least not with lrz. And yes, the receiving end happens
- to be NetBSD. But it looks like the zssh people have been down this
- road too.
- But with rz and sz, it worked. Once. Twice. Three times. But of course,
- with the getty babble at the end. This can be taken care of by doing:
- rz -eq ; cat > foo
- which puts "sz 3.73 1-30-03 finished" and any other messages in foo
- (but you have to type ^D to finish the cat). Using this method I was
- also able to send an 8K binary file that contained a test pattern of
- all 256 possible byte values. Then I tried a 3MB binary executable. All
- OK. So here we go again:
- . sz txt (zst): OK
- . sz bin (zsb): OK
- . rz txt (zrt):
- . rz bin (zrb):
- Downloading fails about halfway through a fairly large file. I tried an
- even bigger file, guaranteed to be 100% ASCII; same thing -- halfway
- through: "rz: Persistent CRC or other ERROR". But it worked with a
- smaller version of the same file (82K versus 2MB). Tried again with the
- bigger version, it failed in exactly the same way at exactly the same
- spot: byte number 1048320. But this is just ASCII text so it can't be a
- transparency problem. Substituting another plain ASCII file of the same
- size but totally different contents, it doesn't fail (2.36MB). Back to
- the previous file, it fails again, but in a different spot (832960). So
- it's not totally deterministic.
- To round things out, I tried downloading the binary test-pattern file;
- it's only 8K. This failed.
- -4, --try-4k go up to 4K blocksize
- -B, --bufsize N buffer N bytes (N==auto: buffer whole file)
- -e, --escape escape all control characters (Z)
- -E, --rename force receiver to rename files it already has
- -L, --packetlen N limit subpacket length to N bytes (Z)
- -l, --framelen N limit frame length to N bytes (l>=L) (Z)
- Tried again with "sz -L 256 -B 256 -4aeq". Doesn't change anything.
- NOTE: Mac OS X rz 3.73 1-30-03 does not support -e. NetBSD rz 0.12.20
- does support -e.
- Thu 22 Mar 2007: It occurs to me that ttpkt() might still be a problem;
- maybe it's the network connection and not the pty that is not
- transparent enough. To test this theory I did "stty raw ; stty -a" and
- then copied all of the flag values into ttpkt in the BSD44ORPOSIX
- section:
- . rz txt (zrt): OK (2.36MB file, worked 2 out of 3 times)
- . rz bin (zrb): "rz: Persistent CRC or other ERROR"
- A little more fiddling with the flags and I got the 8K binary test
- pattern to SEEM to download OK (in the sense that rz gave a 0 return
- code) but the file itself was truncated, always at 224. If I changed
- the test pattern file to not include any bytes with value 224 (0xe0) or
- 255 (0xff), the download worked. So we have a transparency problem
- somewhere. The debug log shows that all byte values are being received
- from the network correctly so the problem has to occur when we try to
- feed them to the pty.
- But no amount of twiddling with the termios flags seems to let these
- characters pass through. Of course, since they are not in the C0 or C1
- control range, "sz -e" doesn't quote them (which it does by prefixing
- with Ctrl-X and then adding 0x40 to the byte value so (e.g.) NUL
- becomes ^X@. Note that 255 does not cause problems because it coincides
- with the IAC character; the remote Telnet server doubles outbound IACs,
- and Kermit's ttinc() undoubles them automatically (as the log shows).
- Trying to send a different file (a C-Kermit binary) shows that 255 is
- the real killer; the file is truncated where the first one appears (at
- about 6K), even though some 224's precede it. Going back to the
- remote-mode test, I see the same thing happens with the binary
- test-pattern file, if I send it from K95 direct to
- rz-under-C-Kermit-in-remote-mode. So it has nothing to do with C-Kermit
- having a network connection. Yet if I send the same file direct from
- K95 to rz, it goes OK and the result is not truncated, so it's not
- Zmodem either. The data arrives to C-Kermit intact, so the failure is
- definitely in writing it to the rz process through the slave and master
- ptys.
- BUT if I send the same file from K95 to rz-under-ttpty, that works.
- What's the difference? Suppose I just transplant ttpty literally into
- C-Kermit... It makes no difference. When receiving the test-pattern, it
- truncates it in exactly the same place.
- Well, all this is on Mac OS X. What if I move it to a different
- platform? OK, building on Solaris and following the exact same
- procedure, ttptycmd() doesn't even use the network connection. I think
- that's because rzsz on Solaris is hardwired to use the controlling
- terminal and can't be redirected, even in a pty?
- Moved to NetBSD.
- . sz txt (zst): Failed ("Got ZCAN")
- . sz bin (zsb):
- . rz txt (zrt): OK
- . rz bin (zrb):
- Well, this is a big mess. Sending doesn't work (or sometimes it does
- but reports that it didn't). Receiving... well, actually it's the same
- thing; the file is completely transferred but then the final protocol
- handshake is lost. The local C-Kermit returns to its prompt, but rz is
- still running:
- Retry 0: Got TIMEOUT
- Retry 0: TIMEOUT
- Retry 0: Got TIMEOUT
- Retry 0: TIMEOUT
- Retry 0: Got TIMEOUT
- Retry 0: TIMEOUT
- Retry 0: Got TIMEOUT
- Retry 0: TIMEOUT
- Retry 0: Got TIMEOUT
- Retry 0: TIMEOUT
- Retry 0: Got TIMEOUT
- I don't see how that is even possible. Even after I exit from Kermit
- the messages keep coming, even though ps doesn't show the rz process
- anywhere. Looking at the code, I see a place where end_pty() was still
- commented out from the ttpty.c episode, I uncommented it. But still:
- . sz txt (zst): Fails ("Got ZCAN")
- . sz bin (zsb): Fails instantly (but with no diagnostic)
- . rz txt (zrt): OK
- . rz bin (zrb): Fails with tons of "Bad CRC", "Garbage Count exceeded"
- Conclusion for the day: I think this is hopeless. Even if I can get it
- to work somewhere, the results depend on the exact Zmodem software, how
- it uses stdin/out vs stderr versus getting its own nonredirectable file
- descriptor, versus the Zmodem version on the other end and which
- options are available on each, versus the pty and select() quirks on
- each platform, and on and on. It will be so hard to explain and to set
- up that nobody would ever use it. It would be better to just implement
- Zmodem internally.
- Fri 23 Mar 2007: Went back to the small test program, ttpty.c. Tried
- setting both the master and the slave pty to rawmode, even though I
- have never seen any other software that did this. I had it receive the
- binary test pattern file; it worked. I made a bigger test-pattern file,
- 3MB, containing single, double, and triple copies of each byte in byte
- order and in random order, this one was accepted too.
- So it would seem that the ckupty.c module is something to avoid after
- all. It's full of stuff I don't understand and probably should not
- undo. So changing C-Kermit's ttptycmd() to manage its own pty again,
- using openpty() (which is not portable), I got it all to work in remote
- mode: Kermit text/binary up/down and Zmodem text/binary up/down. But in
- local mode on the client side of a Telnet connection...
- zst: OK, but we still get the getty babble at the end that starts sz.
- zsb: OK, ditto. This is with the 3MB test-pattern file.
- zrt: Not OK -- "Persistent CRC or other ERROR"
- zrb: Not OK -- got the cutoff at 224 again "Persistent CRC or other ERROR"
- It's close. But actually this was still with USE_CKUPTY_C defined. When
- I undefined it, it was back to being totally broken. Start over. (Check
- the new cfmakeraw() code.)
- Tue 27 Mar 2007: Starting over. Back to ttpty.c. Let's verify, VERY
- CAREFULLY, that it really does work, using the most stressful of the
- four tests: sending the big (3.2768MB) binary test pattern from K95
- into rz through ttpty, logging everything. ttpty definitely receives
- the big file smoothly with no errors or hiccups when I have it set to
- use the master side of the pty for i/o. The application program (Zmodem
- in this case) runs on the slave, and the network and/or control program
- communicates with the master. This implies that Zmodem controls the
- terminal modes of the slave, and ttpty should be concerned with those
- of the master. Doing it this way in ttpty confirms this.
- Fine. But if I tell ttpty to SEND a file with sz, nothing happens.
- Ditto with lsz. Select times out waiting for input from the pty. But if
- I manually tell K95 to RECEIVE /PROTOCOL:ZMODEM it works OK. Somehow
- sz's initial B000000 string is being swallowed somewhere, and it's
- waiting for a reply from the receiver. sigh... But "ttpty gkermit -s
- filename" works fine. What's the difference? It has nothing to do with
- stdout vs stderr; sz is not writing to stderr at all. Is it some timing
- thing between the forks? Aha. It's that I change the modes of the pty
- master in one fork while sz is already starting in the other fork.
- OK, good, now for the first time we have Kermit and Zmodem both able to
- upload and download a large worst-case binary test-pattern file... in
- remote mode. Now taking today's lessons and fitting them back into
- C-Kermit so I can try it local mode...
- Using G-Kermit as the external protocol, first in remote mode... All
- good: text/binary up/down. The "halting problem" is solved by SIGCHLD,
- which catches fork termination instantly and lets ttptycmd() know there
- is no more pty. Zmodem:
- zst: OK
- zsb: OK
- zrt: OK
- zrb: OK
- That's a first. Next, repeat in local mode, in which C-Kermit is the
- client and has made a Telnet connection to another host over a secure
- (Kerberos V) connection:
- kst: OK zst: ...
- ksb: OK
- krt: OK
- krb: OK
- It seems we can never end a day on a high note. Somehow I seem to have
- broken regular internal Kermit protocol transfers over encrypted
- connections -- the en/decryption engine loses sync. But they still work
- OK over a clear-text Telnet connection.
- Today's code in ~/80/dulce.tar (27 Mar 2007).
- Added makefile target solaris10g+openssl. Gathered all the standard
- CFLAGS for Solaris into cdcdeb.h so they don't have to be included in
- every single makefile target for Solaris. On local Solaris 10 host
- OpenSSL is in /opt/openssl-0.9.8e/. Tried the new makefile target,
- works OK. Also made solaris10+openssl for Sun CC, but couldn't test it
- because I can't find any Solaris 10 host that has Sun CC. Built with
- gcc at another site that has OpenSSL 0.9.8f-dev, all OK. ckcdeb.h,
- makefile, 24 Jun 2007. ====
- It occurs to me that Kermit transfers on secure connections might have
- been broken by the changes I made back in February to ttinl() for John
- Dunlap. Here, for the first time, we invoke myunrd() to push a byte
- back into the input queue, and there is also some funny business with
- "csave", which changed, and which an old comment notes that it has to
- be treated specially when encrypting. So it could be that the broken
- Kermit transfer has nothing to do with the work on external protocols,
- and that putting back the previous ttinl() will fix it. But now I can't
- seem to make a Kerberized connection from Panix to Panix, even though I
- can make one from Columbia to Panix. This means I have to build a
- Kerberized binary from the current source code on either Solaris or Mac
- OS X. Trying Solaris first... [~/solaris9k5/mk5.sh] This didn't work
- the first time due to undefined krb5_init_ets, which is referenced if
- MIT_CURRENT is not defined (it should be for Kerberos 5 1.05 and later
- and we have 1.42 here), tried again with -DMIT_CURRENT=1... Nope, that
- one totally blew up in ck_crp.c. Later, Jeff says krb5_init_ets is a
- no-op in Kerberos 1.4.x and later, so I added an #ifdef
- (NO_KRB5_INIT_ETS) for skipping it; now it builds and runs OK.
- ckuath.c, makefile, 9 Jul 2007. ====
- Meanwhile, using C-Kermit on Mac OS X, which makes the Kerberized
- connection just fine, but still has the problem transferring files over
- it. Packet log shows:
- s-00-01-^A9 Sz/ @-#Y3~Z! z0___F"U1@A^M
- r-00-01-^A9 Y~/ @-#Y3~^>J)0___J"U1@I
- s-01-01-^A(!Fx.x)(V^M
- r-xx-08-<timeout>
- S-01-08-^A(!Fx.x)(V^M
- r-xx-08-<timeout>
- S-01-08-^A(!Fx.x)(V^M
- r-xx-16-<timeout>
- Note that S packet is sent, received, and Ack'd OK. The F packet is
- sent but is never Ack'd. Tried this several times and noticed that it's
- just receiving that is screwed up, not sending. After ^C'ing out of the
- transfer, I can still type commands, and they are executed on the far
- end, but the results coming back are gibberish. Mon Jul 9 16:08:22 2007
- (come back to this later... substitute Dev.27 ttinl for current one and
- see if the problem goes away, and if so, conditionalize the new code
- for clear-text connections).
- Built C-Kermit with Kerberos 5 on Solaris with a version of ckutio.c
- that uses the old ttinl() and transferred a file OK over a Kerberized
- connection. So now it's just a matter of reconciling the old and new
- ttinl. The easiest way to do this is to have new ttinl() chain to old
- ttinl() if the connection is encrypted, which is what I did and it
- works fine. At some point the two versions of ttinl() should be
- reconciled. ckutio.c, 12 Aug 2007. ====
- There was a function, islink(), used in only one place (ckuus6.c) that
- had the same name as a commonly used scalar variable, and it was
- missing a prototype. Changed its name to isalink() and added the
- prototype (Unix only), ckuus6.c, ckufio.c, ckcdeb.h. 12 Aug 2007. ====
- Revisiting the ASCII and BINARY top-level commands, which are supposed
- to be like in other FTP clients, but don't seem to have any effect. I
- added a new routine to the FTP module, doftpglobaltype(), that sets the
- global, sticky, permanent transfer mode (ASCII or BINARY) (TENEX could
- be added to if anybody asks). These commands (now that they work) are
- different from SET FTP TYPE { ASCII, BINARY }, which set the *default*
- transfer mode when automatic switching fails for a given file.
- ckuusr.c, ckcftp.c, 12 Aug 2007.
- (notify: Matt <mlist@cmcflex.com>)
- Even though the code hasn't changed, suddenly we're getting:
- "ckuusx.c", line 5682: warning: implicit function declaration: tgetent
- "ckuusx.c", line 6183: warning: implicit function declaration: tgetstr
- "ckuusx.c", line 6262: warning: implicit function declaration: tputs
- "ckuusx.c", line 6266: warning: implicit function declaration: tgoto
- in ckuusx.c on Solaris 9. <curses.h> is still in /usr/include, dated
- 2002. A quick search shows the missing functions are hiding in
- <term.h>, which until now was included only in Linux. Added a
- USE_TERM_H clause. No, that doesn't help, the prototypes are not
- selected at compile time; there are #ifdefs in that file that skip over
- these prototypes. I had to put them in the code under #ifdef
- BUG999..#endif (I could have used a longer name like #ifdef
- ADD_PROTOTYPES_FOR_CURSES_FUNCTIONS, but that would not be portable).
- ckuusx.c, 12 Aug 2007.
- Also:
- "ckuusx.c", line 9232: warning: implicit function declaration: creat
- This is called in the IKSD database code, used for getting a lockfile.
- creat() is a Unixism in code that is supposed to be portable. But IKSD
- only runs on Unix and Windows, so I assume the Windows C library has a
- creat() function. Anyway, suddenly the Solaris header files seem to
- have blocked whatever path previously existed to the creat() prototype
- (which is in <fcntl.h>), so I added an #include in the appropriate
- spot. ckuusx.c, 12 Aug 2007.
- Kermit functions for converting the number base -- \fradix(),
- \fhexify(), \unfhexify() -- did not work with big numbers; ckradix()
- was missed in the CK_OFF_T conversion. Fixed in ckclib.c, 12 Aug 2007.
- Updated the help text for ASCII, BINARY, and SET FTP TYPE to clarify
- the semantics. ckuus2.c, ckcftp.c, 12 Aug 2007.
- Error messages were printed upon failure to open any of the four log
- file, even with SET QUIET ON. Fixed in ckuus4.c, 12 Aug 2007. ====
- Built OK on NetBSD 1.3_RC3. Tried to build secure version but the
- libraries had disappeared. 13 Aug 2007.
- Built OK on Mac OS X 10.4.9. Tried the secure version,
- macosx10.4+krb5+ssl. Here we get the usual pile of "pointer targets in
- passing argument 1 of (function name) differ in signedness", regarding
- security functions, but it built OK. 13 Aug 2007.
- Reconciling the two ttinl's... On encrypted connections myread()
- returns encrypted bytes; ttinl() has to decrypt them; it wasn't doing
- this in the lookahead section so I fixed it. The new code works on both
- encrypted and clear-text connections. I removed the chaining to
- oldttinl(), and oldttinl() itself. ckutio.c, 13 Aug 2007.
- (Wouldn't it make more sense and be more efficient and less confusing
- for myfillbuf() to do the decrypting?)
- When C-Kermit uses Zmodem as an external protocol, it doesn't seem to
- scan files before sending them to set text or binary mode
- appropriately. It's that external protocols bypass Kermit's whole "get
- next file" mechanism; the (possibly wild) filespec is simply passed to
- the external protocol program. Changing this would be a very big deal.
- But if only one file is being sent (the filespec is not wild) it's easy
- enough to check. I added this to the external protocols section of the
- protocol module. It can be overridden in any of the regular ways (/TEXT
- or /BINARY switch on SEND command, SET PATTERNS OFF, SET TRANSFER MODE
- MANUAL, etc). ckcpro.w, 13 Aug 2007. ====
- [FTP SEND /RECURSIVE] Peter Crowley reported a problem with FTP
- recursive uploads getting the directory tree wrong when the previous
- pathname was a left substring of the new pathname (e.g. foo/bar/ and
- foo/bar2/). The logic did not handle this case and created the bar2
- directory as a subdirectory of bar, rather than as a parallel
- directory. Fixed in syncdir() and tested with various edge cases.
- ckcftp.c 14 Aug 2007.
- notify <peter.crowley@alumni.utexas.net>
- Added CD messages to FTP BRIEF display to track the ups and downs of
- recursive uploads. ckcftp.c, 14 Aug 2007.
- The OUTPUT command gave a misleading error message ("Connection to xxx
- not open") when used on a serial port that was, indeed, open but was
- not presenting the Carrier signal, when CARRIER-WATCH was not OFF.
- Added a new message for this, and some others. ckuus5.c, 14 Aug 2007.
- Sending from the command line, e.g. kermit -s foo, did not give an
- informative error message if the file could not be found or opened.
- Fixed in ckuusy.c, 14 Aug 2007.
- OK, back to ttptycmd.... It seems that back on March 27th, I got
- everything working but I thought that there was still something wrong
- with it because an unrelated problem so I put it aside. The version of
- ttpty.c from that date worked OK, and it looks like I updated ckutio.c
- from it, but that version of ckutio.c was put aside. Since then I have
- been working on the ckutio.c version that was NOT put aside and so now
- I have to reconcile the two:
- ~/80/ttypty/20070327/ckutio.c
- ~/80/ckutio.c
- As a first cut I did this simply by replacing the contents of the
- #ifdef CK_REDIR section of the latter with that of the former. Of
- course in Solaris this comes up with openpty() implicitly declared at
- compile time and unresolved at link time. So the first task is to get
- HAVE_OPENPTY defined for platforms that have it and have the others use
- the ttruncmd(). For starters I put an #ifdef block in ckcdeb.h that
- defines HAVE_OPENPTY for Linux, FreeBSD, NetBSD, OpenBSD, and Mac OS X.
- Ones that don't have openpty() include AIX, HP-UX, and Solaris. Others
- like SCO I don't know but I doubt it. The real solution is to get the
- ckupty.c module to work but one thing at a time... This version is
- supposed work with secure builds on the openpty() platforms, and on the
- others like Solaris, if an external protocol is attempted on a secure
- (encrypted) connection, an error message is printed and the command
- fails. ckutio.c, 14 Aug 2007.
- How to test? Apparently I did all my testing on Panix before, and
- that's where all my Zmodem builds are, but now when I build a
- Kerberized version (which works if I do it on the right pool host), it
- won't make a local connection, and there is no other place I can
- connect to that has a Kerberized Telnet server. I can, however, connect
- to Panix from here, using the same code, but on Mac OS X...
- Slight detour: Got access to AIX again (5.3.0.0). Picky compiler, some
- things needed fixing.... Also it says "1506-507 (W) No licenses
- available. Contact your program supplier to add additional users.
- Compilation will proceed shortly" and of course it goes kind of slow.
- For some reason, I can't do streaming transfers into AIX over a local
- network (to its SSH server), but windowed transfers are OK. Anyway,
- noting that we've been using the same basic makefile target since AIX
- 4.2, changing nothing but the version herald, I made a new target,
- simply "aix", that picks up the AIX version automatically and sets the
- herald from it. Ditto for aix+openssl, but on this host requires
- setting SSLINC and SSLLIB to /opt/ssl/include and /opt/ssl/lib. Also
- the make program here was extremely sensitive to spacing so I had to
- make some minor edits to get the link step to work for the SSL version.
- ckuusy.c, makefile, 14-15 Aug 2007.
- Got rid of the special Panix secure NetBSD target, replaced it with a
- regular one, which is invoked in the normal way by defining K5INC and
- K5LIB to point to to where the stuff is hidden. Cleaned up and
- modernized the comments in the makefile a bit. makefile 15 Aug 2007.
- ====
- Changed some data types and added some casts to ckctel.c to do away
- with tons of "pointer targets in passing argument 1 of 'xxx' differ in
- signedness" warnings. 15 Aug 2007.
- Set up Mac OS X as the testbed for ttptycmd(), with Panix as the remote
- partner over a Kerberos 5 connection. The first test is to send a 300K
- text file with gkermit as the external protocol. It worked fine, and
- the debug log showed all the right components were active (namely
- encryption and ttptycmd) [kermit/zmodem send/receive text/binary]:
- Kermit Zmodem
- kst OK zst OK
- ksb OK zsb OK
- krt OK zrt OK
- krb OK zrb Failed "rz: Persistent CRC or other ERROR"
- We've seen this before. The problem is 0xff, Telnet IAC, as I proved to
- myself by constructing a 3MB file that contained every byte but 0xff in
- every mixture and order and transferring it successfully over the same
- connection. Presumably the Telnet server is doubling IACs, whereas of
- course rz is not undoubling, thus the CRC error. This is progress. 15
- Aug 2007.
- Log shows that indeed every IAC in the source file arrives doubled.
- Adding code to remove the first IAC of every adjacent pair, a small
- test file with different-length runs of IACs transfers OK. The 3MB
- all.bin file does not.
- Starting over... I can receive a big text file with Zmodem OK. The
- 3.2MB binary test pattern that contains no IACs failed after 1.8MB, but
- the part that it transferred was OK. A second try, almost the whole
- thing arrived, it stopped just 584 bytes short of the end. Could be
- that file size is a separate problem. Making a new copy exactly 1MB
- long... Well, that's interesting, this one too stopped just short of
- the end. And again, the same thing. When connecting back to the host,
- the last Zmodem packet can be seen on the screen; it's as if the local
- Zmodem exited before reading the last packet... But OK, if I change the
- options on the remote sz sender to use small blocks, etc, then it
- works.
- Now, changing from the 1MB no-IAC-binary test pattern, to the 1MB
- all-values test pattern, we fail after 81K. But the part that was
- transferred is correct. Second try, same thing, but 57K. Third: 40K.
- Each time, upon connecting back, the session is completely dead.
- IF I HAVE TO undouble IACs for incoming files, don't I have to double
- them going out? To send a block to net we just call ttol(), but ttol()
- doesn't do any doubling (because Kermit protocol always quotes 0xff).
- To see what happens, I changed the ttol() call to ttoc() in a loop that
- doubles IACs. I tested this by sending the full 3.2MB test pattern,
- which worked fine.
- For receiving, it's slow but it works OK with files that don't contain
- IACs (my concern was that IACs might appear in outbound files or in
- Zmodem protocol messages). It receives the 1MB no-IAC test pattern, so
- there are no problems with protocol or timing. But the full test
- pattern always gets cut off, but at different points, as before, with
- the remote session dead. Changing the Zmodem receiver from rz to lrz on
- the local end (since the sender on the remote end is lsz) does not
- change the behavior.
- Anyway, I went back and replaced the byte loop with something more
- efficient, and it goes about 20 times faster. But this doesn't help
- either, it only makes it fail faster. But aha, what if a doubled IAC is
- broken across successive pty reads -- we have to make the "previous
- character" memory persistent. Well, that was a good insight, but it
- still didn't fix it. The log shows the IAC handling code is working
- fine.
- What does sz say? Capturing its stderr to a file... "Retry 1: Got
- ZCAN". Next time: "Retry 1: Got TIMEOUT". Next time: Got ZCAN.
- Trying different Zmodem options... apparently I don't need to use short
- blocks. But I do need to use -e, probably because of Telnet NVT
- treatment of carriage return; without -e, there is a "persistent CRC
- error". -O disables timeouts, but this makes no difference.
- OK, we still have two Big Problems:
- 1. When a long file has no IACs, the final < 1K of the file is not received.
- 2. When a long file has IACs, the transfer generally stops very early.
- Problem 1: the transfer consistently fails less than 1K from the end of
- the file. Upon CONNECT back to the host, a big Zmodem packet is sitting
- there waiting to be read, which means ttptycmd()'s copy of rz is
- terminating early. Can we catch it in the debug log? Doing this takes
- forever and writes a GB to the disk... And then the problem doesn't
- happen. Also, I can receive a HUGE text file almost instantly with no
- errors at all.
- Switching to lrz on the receiving end, now I see the error messages,
- about 300 lines like this:
- Retry 0: Garbage count exceeded
- Bytes received: 872352/1000000 BPS:85464 ETA 00:01 Retry 0: Bad CRC
- Bytes received: 892448/1000000 BPS:86690 ETA 00:01 Retry 0: Bad CRC
- Retry 0: Garbage count exceeded
- Retry 0: Garbage count exceeded
- Retry 0: Garbage count exceeded
- Retry 0: Garbage count exceeded
- Retry 0: Garbage count exceeded
- Retry 0: Garbage count exceeded
- Retry 0: Got ERROR
- Bytes received: 898336/1000000 BPS:84293 ETA 00:01 Retry 0: Bad CRC
- Retry 0: Garbage count exceeded
- Retry 0: Garbage count exceeded
- Bytes received: 900384/1000000 BPS:83751 ETA 00:01 Bad escape sequence
- 2fRe
- try 0: Bad data subpacket
- Bytes received: 941472/1000000 BPS:86191 ETA 00:00 Retry 0: Bad CRC
- Retry 0: Garbage count exceeded
- Even when it succeeds, it gets these. But if I receive a text file, no
- matter how big, no errors or retries or timeouts at all. So it appears
- that there is only one problem: a big-time lack of transparency
- regarding 8-bit and/or control characters. The odd thing is, it's not
- that the characters can't get through -- they all can -- but they seem
- to cause transitory blockages. 16 Aug 2007. ====
- Cleaned up the remaining pointer signedness warnings in ckutio.c, but
- this was a mistake, it broke Kerberos connections completely. Undid the
- changes. ckutio.c, 17 Aug 2007.
- Changed all return() in the fork()==0 section of ttptycmd() to exit().
- ckutio.c, 17 Aug 2007. ====
- Tried explicitly setting the slave pty to rawmode. Makes no difference.
- Tried using the Mac OS X (curses) raw() function, and also system("stty
- raw"); still no difference. Tried doing all of these in different
- combinations and orders. I found one combination that cuts the errors
- about in half, and the transfer of the no-IAC test pattern almost
- always succeeds (but it's slow). Anyway, it doesn't help much with the
- test pattern that contains IACs. Well, the code is more solid than it
- was before but functionally we have not advanced much if we can't
- download a binary file with Zmodem! On the other hand, we can upload
- them, and we can transfer text files in both directions, which is an
- improvement over the previous situation, in which the entire session
- would hang due to loss of synchronization of the encryption stream.
- Tried adding -funsigned-char to CFLAGS of Mac OS X target. It does not
- make the "signedness" warnings go away and it doesn't change the
- runtime symptoms.
- I tried a simpler version of pty_make_raw(), the one from Serg
- Iakovlev, but it was a total failure. That's encouraging though,
- because it indicates that pty_make_raw() is the right place to be
- working.
- Then I made pty_make_raw() set or unset every single terminal flag
- explicitly. This made no difference, but didn't hurt anything either.
- Then I made pty_make_raw() explicitly set all the c_cc[] characters to
- 0 (but left c_cc[VMIN] as 1). This made no difference either.
- I checked pty_make_raw() against ttpkt() and the only difference I
- found in the terminal flags is that ttpkt() sets IGNPAR thinking it
- means "ignore parity errors" when really it means "discard any
- character that has a parity error" (at least according to Iakovlev) --
- exactly the opposite. But I tried it both ways, no difference. 17 Aug
- 2007. ====
- I noticed that even Zmodem text receives can fail. They don't get any
- errors, they just get cut off shortly before the end. (But usually they
- succeed, and fast too, like 500K cps).
- What if I don't call pty_make_raw() at all on the slave pty?
- zrt: EESSSSSSSS: 80% good (E = stopped just before end but no other
- errors)
- zrb no-IAC test pattern, short blocks:
- 1. S/5 (success with 5 screens of errors.
- 2. S/7
- 3. S/7
- 4. S/6
- 5. E/7 (failed just before end)
- 6. S/7
- 7. S/6
- 8. S/6
- 9. S/6
- 10. S/4
- So, lots of errors, but it recovered 90% of the time. Next, same thing,
- but without requesting short blocks:
- 1. E/5
- 2. S/5
- 3. E/4
- 4. S/5
- 5. S/5
- 6. S/5
- 7. X/0 (hard failure right away: "Got ZCAN"
- 8. S/5
- 9. S/5
- 10. S/5
- So it doesn't look like short blocks make that much difference. Now
- what if I turn off prefixing? Bad CRC, fails immediately every time.
- Putting back pty_make_raw(slave), it still fails hard.
- Tried a new strategy with pty_make_raw(): rather than modify existing
- flags, I set all flags to 0, and then turn on only those few that we
- need like CS8. Now we get only 2.5 screens of errors instead 4-7 and
- the transfer rate is higher for binary files (all of the previous ones
- were under 100K CPS, while for text files it was 400-500K CPS):
- 1. S/2 195669 CPS
- 2. S/2 194720
- 3. E/3
- 4. S/2 192550
- 5. S/3 192325
- 6. S/3 145066
- 7. S/2 200689
- 8. S/3 188948
- 9. S/2 209461
- 10. S/3 181991
- I noticed that there was no TIOCSTTY ioctl in the pty/fork setup
- sequence, which is recommended somewhere, so I tried that and it was a
- disaster; the entire session hung. I took it back out. 18 Aug 2007.
- Tried some transfers over a clear-text (not encrypted) connection with
- the same results: smooth, fast transfer of a big text file (400K cps);
- rocky but successful transfer of the no-IAC binary pattern file (135K
- cps). Switching back to ttruncmd(), the same binary file is received at
- 1.5M cps, and the no-IAC binary file totally fails after too many "Bad
- CRC"s; and we already know that any file that contains IACs will fail.
- One might say that ttptycmd() is better in every respect than
- ttruncmd() except in speed (when it works).
- Let's see if ttyptycmd still works in remote mode (to local K95):
- . sz / text works, but slowly.
- . lsz / text works but some weird errors are reported.
- . lsz / binary / no IAC doesn't work at all (CRC-32 mismatch for a header;
- Unexpected control character ignored: 13, etc).
- . sz / binary / no IAC works OK but slow.
- . sz / binary / full test pattern with IAC works OK but slow.
- . Sending text into rz fails completely.
- What about ttruncmd() in remote mode?
- . send /text works, fast.
- . send /binary works, fast.
- . receive /text works, not so fast but not bad.
- . receive /binary works, not so fast but not bad.
- So we use ttruncmd() for remote mode, and we use it for local mode
- serial-port and modem connections, and we use ttptycmd() on network
- connections because (a) they might be encrypted, and (b) even if they
- are not, they use some protocol that we have to handle, e.g. Telnet,
- Rlogin. 19 Aug 2007. ====
- Discovered that Sending binary files no longer works. Text is OK,
- binary transfers don't even start. This happens on both encrypted and
- clear-text connections. ttptycmd() is being used in both cases. But
- oddly enough, receiving binary still works as before. What did I break,
- and when? Oh, it was just the script, when I changed it from using sz
- to lsz. Putting it back to sz makes it work, even with the full 3.2MB
- binary pattern with IACs.
- I backed off the changes I made to ckctel.c to suppress some warnings,
- in view of the fact that similar changes to ckutio.c broke things so
- badly. 19 Aug 2007. ====
- If sz is not given the -e flag, it sends control characters bare,
- except ^P, ^Q, ^S, and ^X. ^X is the control prefix, so ^A is sent ^X
- followed by A. With -e, all C0 control chars are prefixed, but with ^X,
- which is, of course, a control character. Interestingly, the C1 analogs
- of ^P, ^Q, ^S (but not ^X and, unfortunately, not IAC) are also
- prefixed. -e makes no difference for 8-bit characters.
- If we have a Telnet connection and the server is in ASCII (NVT) mode,
- CR is always followed by LF or NUL. Well, it seems the server is
- putting us (Kermit) in binary mode in this case, but staying in ASCII
- mode itself. Added code to handle NVT byte stuffing and unstuffing in
- each direction independently, according to the TRANSMIT_BINARY state in
- that direction. I made a file containing just the bytes 0-31 and 127
- and 128-159 and 255 (66 bytes all together) and sending it from the
- host to C-Kermit, the local log shows that every control character was
- received correctly and all TELNET conversions were done right -- NUL
- removed after CR (and only after CR); IAC removed after IAC (and only
- after an IAC meant as a quote). For the first time, I can receive the
- 1MB all-values test pattern, but there are still tons of (correctable)
- CRC errors, so the transfer rate is really awful, like about 5% of what
- we get with a text file (25Kcps instead of 500).
- Further experimentation shows that the fundamental transparency problem
- is fixed; we can receive short files (say, 1K or less) containing
- absolutely any byte values in any combination with no errors at all.
- But once the file size reaches (say) 10K, we get CRC errors, like one
- every 2 or 3K of data. These are not deterministic. In successive
- transfers of the same file, they come in different spots. It's tempting
- to blame pty buffer overruns, but then text files would show the same
- behavior. When a binary file size exceeds, say, 1MB, the chances of
- successful completion go way down, independent of whether my external
- protocol is rz or lrz. I like lrz better because the error reports come
- out on the screen as the transfer is going on. Trying to download a
- real-world binary file -- a 2.2MB C-Kermit executable -- I get 4500
- error messages but the transfer eventually succeeds, with an effective
- throughput of 21Kcps.
- Actually it turns out that "sz -a somebigtextfile" (2.2MB) also gets a
- lot of CRC errors. The -e flag (escape all control characters) makes
- the same big text file transfer with few or no errors. It's not
- sure-fire. Sometimes no errors, sometimes one or two, and sometimes a
- fatal error that kills the transfer.
- With binary files... a 32K binary file seems to make it every time. 40K
- fails about 50% of the time. 48K fails 60% and every time it fails, it
- has created a partial file of exactly 32K (32768 bytes). 96K fails 9
- out of 10 times, when it fails, the partial file is always 0 bytes, or
- 32768, or 65536, but that just means that rz's file output buffer is
- 32K.
- Why, then, do binary files cause trouble if it is not a solid
- transparency problem? If a certain file can get through once, why can't
- it get through every time? When a character arrives at the pty, the pty
- driver probably takes a different path through its code, checking the
- terminal flags that would affect that character. I tried making
- Kermit's network read buffers very small but, surprisingly, this made
- things worse. I also tried making them very much bigger, which didn't
- help either. 24K still seems to be the right size.
- So, is it that some characters take longer to process than others? So
- long that data is lost due to lack of flow control between TCP and the
- pty? One way to test this theory is to slow Zmodem down. I tried "-l
- 32" which, according to the man page, tells sz to "wait for the
- receiver to acknowledge correct data every N (32 <= N <= 1024)
- characters. This may be used to avoid network over-run when XOFF flow
- control is lacking." Makes no difference. I also tried the -w (Window)
- switch, ditto. In fact there are all sorts of options to set the
- "window size", "packet length", "block size", and "frame length", but
- with no explanation of what these mean or how they are related. If I
- crank everything down to minimum value:
- lsz q -L 32 -l 32 -w 1
- I get 50% success with the 96K file instead of 10%. Adding -e, oddly
- enough, made it worse. I also tried setting the environment variable
- ZNULLS to different numbers like 512, no help there either.
- I tried making the read-from-net-write-to-pty buffer small (1K) but
- leaving the pty-to-net one big. This improves chances of success, but
- it's intolerably slow (3Kcps when the connection is capable of 500K).
- I also changed the write-to-pty operation from a single write() call of
- possibly many K characters to a byte loop, one write() per byte. Same
- result: success (but still about 300 recoverable errors), throughput
- 3Kcps. 20 Aug 2007.
- With ttptycmd() configured to write to the pty in a byte loop, it is
- possible to delay each write. Adding a 10msec delay per character
- results in a transfer that runs at about 20 cps and (for the 96K test
- file) would take about 80 minutes to complete. And yet it still gets
- just as many errors. So it's not a matter of timing either. The errors
- come, on average, every file 388 bytes, but not at regular intervals.
- I tried the TIOCREMOTE ioctl on the pty master, as discussed somewhat
- obliquely in the Mac OS X "man pty" page; "This mode causes input to
- the pseudo terminal to be flow controlled and not input edited
- (regardless of the terminal mode)" -- sounds like just the ticket but
- it made no difference. Actually, looking at a man page on another OS
- (Solaris), it says this is only for lines of text, EOLs are supplied,
- so that would mess up the protocol. So remember: don't use this.
- Tried without O_NDELAY; the behavior was the same but the speed was
- much slower.
- Tried switching back to the ckupty.c routines on Mac OS X and found
- that it works now the same as with openpty(), except that I seem to get
- more getty babble at the end. But this means I can run some tests on
- Solaris. I moved the entire test environment from Mac OS X 10.4.9 to
- Solaris 9. But it doesn't work at all.
- Trying to figure out the ckupty.c modules again.
- . do_pty() calls pty_getpty() which returns in arg1 the fd of the pty master.
- . Then it creates a pipe as a way to tell when the child dies
- . Then it creates a fork:
- - The parent does a blocking read from the pipe
- - The child calls getptyslave() to get the pty slave
- and writes one byte to the pipe
- and then execs the command it's supposed to run
- Note that the file descriptor of the slave is known only to the lower
- fork. Therefore the lower fork is the one that has to set all the tty
- modes, etc. I took care of all that but the ckupty.c method doesn't
- work at all on Solaris. But it works "fine" on Mac OS X (the 32K
- all-bytes test file transfers instantly with no errors, but the 96K one
- errors out).
- The problem on Solaris is that pty_make_raw() fails on the masterfd
- (but not on the slavefd) with errno 25 "ioctl inappropriate for
- device". It doesn't matter whether I do it in ckupty.c or ckutio.c. I
- found a web page on kde.org that says Solaris does not allow
- tcget/setattr() on a pty master. But the Sun "knowledge base" is not
- open to the public. Well, presumably changes made to the slave are
- reflected in the master (comments in Solaris telnetd seem to confirm
- this...) Let's come back to Solaris later.
- Moving to a Linux with lrzsz installed... Built a Kerberos 5 version
- with USE_CKUPTY_C. Like on Mac OS X, it transfers short files OK and
- chokes on longer ones. Switched to openpty(), it behaves the same. So
- the problems on Mac OS X are evidently not OS-specific, which is good I
- guess, since that means finding the way around them will apply to more
- than one platform. 21 Aug 2007.
- Look into TIOCSCTTY again. On System V based OS's, opening a pty
- acquires a controlling terminal automatically. On BSD-based OS's, no;
- you have to use the TIOCSCTTY on the slave file descriptor to give it
- one. I'm not sure why a controlling terminal would be needed, except
- that without one, the virtual device "/dev/tty" does not exist for the
- process that runs on the pty, and maybe the application that runs there
- (e.g. rzsz) checks for it. On the downside, having a controlling
- terminal opens the process up to terminal interrupts like SIGINT and
- SIGQUIT. Until now I have not been using this ioctl(). Results (in
- Linux):
- With TIOCSCTTY: 96K all-bytes test: 11 screens of errors, then success
- Without TIOCSCTTY: exactly the same.
- Tried the same thing with TIOCNOTTY instead of TIOCSCTTY, with exactly
- the same results (no effect whatsoever).
- There has to be a way to make this work, because Zmodem works through
- telnetd, which basically the same thing as ttptycmd(): a relay between
- the network and a pty. ttptycmd() is like telnetd backwards. Modern
- telnetds are not much help; they don't access ptys or the network
- directly, they go through "mux" devices so I can't see what they're
- doing to get transparency and flow control. An old BSD telnetd uses
- packet mode but that would be a big deal...
- I tried ignoring various signals like SIGTTOU and SITSTP, since some
- Telnet clients do this. No effect, no difference. Anyway, in Linux the
- transfers almost always finish OK despite the many errors. There is
- just some trick I'm missing to make the pty accept a stream of
- arbitrary bytes without hiccuping.
- What about Solaris, which uses ckupty.c? In streams-based OS's, where
- line disciplines and whatnot are pushed on top of the pty, it looks
- like the pty module saves the file descriptor of the "bare" slave pty
- (as 'spty') before pushing things onto it, and then later uses spty
- rather than the regular slave pty file descriptor when getting/setting
- terminal modes. I'm not sure what this is all about but it's definitely
- SysVish... It happens if STREAMSPTY is defined, but I noticed that
- STREAMSPTY is never defined anywhere. I tried defining it so we take an
- entirely different path through the code. It made absolutely no
- difference.
- Then I noticed that HAVE_STREAMS is not defined for Solaris either.
- Tried defining it, but the session didn't work at all, no i/o. Removing
- the HAVE_STREAMS definition but keeping the STREAMSPTY defined, I
- rebuilt and tried "set host /connect /pty emacs". I got an EMACS screen
- but could not type anything into it, which means that STREAMSPTY should
- not be defined either. Removed the definition and "set host /pty" works
- again. So what's the problem with ttptycmd()?
- In fact, ttptycmd() works on Solaris with Kermit as the external
- protocol, but not with Zmodem, not even with text files. So again,
- there is no fundamental problem with the code or the logic, it's Just A
- Matter Of Transparency to control and/or 8-bit characters -- some trick
- I don't know about.
- Looking at the Solaris debug log... I see that ckupty.c is calling
- init_termbuf() to set the tty modes of the master, not the slave, and
- set_termbuf() to set them, but you can't do that in Solaris, error 25.
- This is in getptyslave(). Shouldn't getptyslave() be setting the tty
- modes of the slave, not the master? I changed it to do this, but like
- all other changes, it made no difference. I checked to make sure that
- after the change, "set host /pty /connect emacs" still worked and it
- did.
- And then what... I had some code to redirect stderr in ckupty.c that
- was not being executing due to a typo. When I fixed the typo, poof,
- Zmodem binary transfers started working, or working as well as they
- work in Linux and Mac OS X. It turns out that if I don't redirect
- stderr, sz and rz just don't work. But lsz and lrz do. But if I do
- redirect it, I don't see the progress messages from lsz/lrz. 22 Aug
- 2007. ====
- Built on HP-UX 11i v3 (B.11.31 U ia64) with optimizing compiler, got
- tons of picky warnings, but it finished and linked and runs OK. Many of
- the warnings were like this:
- "ckucns.c", line 1606: warning #2068-D: integer conversion resulted in a
- change of sign: tnopt[0] = (CHAR) IAC;
- IAC is defined as 255 in ckctel.h. If I define it as 0xff, I don't get
- the warnings. I changed the definitions of all the Telnet commands to
- be in hex notation rather than decimal. If cuts way down on the HP-UX
- warnings and doesn't seem to cause problems elsewhere. ckctel.h, 23 Aug
- 2007. ====
- Now it looks like Solaris is working but then it hangs at the end. It
- appears as if the ckupty.c module is blocking SIGCHLD. Debug log shows
- that when the transfer is complete, we received IAC DM (Telnet Data
- Mark) after sz's last gasp and before the shell prompt is printed. But
- calling tn_doop() in this case is a mistake because we are reading the
- number of bytes that we know are available in a counted loop, but
- tn_doop() would consume an unknown number of bytes and we would never
- know when to exit the loop. Anyway, C-Kermit doesn't do anything with
- DM. Skipping over tn_doop() (and not writing out the Telnet command
- bytes) fixes the hanging condition at the end, even though SIGCHLD is
- never raised. ckutio.c, 23 Aug 2007. ====
- Some tests, Solaris to NetBSD over K5. zst sends ascii.txt, a 2.36MB
- ascii text file (Kcps / Errors). zrt receives the same file:
- zst 587/0 526/0 542/0 434/0 423/0
- zrt 827/0 800/0 847/0 FAIL 610/0
- So text is good. Binary not so good. Here we transfer the 1MB all-bytes
- pattern file. zrb receives it successfully, but with 1248 errors, at
- only 15Kcps. Sending the same file out always fails:
- Begin 20070823 16:32:07: SEND BINARY all2.bin [sz]
- Sending: all2.bin
- Bytes Sent: 5600/1000000 BPS:12446 ETA 01:19 FAILURE
- End 20070823 16:32:13
- Elapsed time: 6.617992999999842
- cps = 151103.2121067556
- lsz: caught signal 1; exiting
- Decided to move to Linux but found that something is screwed up in
- Linux C-Kermit with tilde expansion:
- send ~/testfiles/all.bin
- doesn't expand at all (but it did yesterday!). The problem was in the
- ancient, ancient realuid/setuid handling code; real_uid() no longer
- works in Linux. I worked around this in whoami() by setting ruid to
- getuid() if real_uid() returned a negative number. Maybe dangerous,
- worry about it later. ckufio.c, 23 Aug 2007. ====
- ANYWAY... after fixing that, I tested zsb on Linux, and it's broken
- there too, using openpty(), so it's nothing to do with ckupty.c. After
- sending the first Zmodem data packet, it just hangs, nothing comes
- back. In text mode it gets farther, but then the same thing happens.
- Captured stderr from rz on the far end:
- Bytes received: 608/1000000 BPS:21137 ETA 00:47 Retry 0: Bad CRC
- Bytes received: 864/1000000 BPS:23540 ETA 00:42 Retry 0: Bad CRC
- Bytes received: 1120/1000000 BPS:25003 ETA 00:39 Retry 0: Bad CRC
- Bytes received: 5696/1000000 BPS:56988 ETA 00:17 Retry 0: Bad CRC
- Bytes received: 9120/1000000 BPS:62227 ETA 00:15 Retry 0: Bad CRC
- Bytes received: 9376/1000000 BPS:60766 ETA 00:16 Retry 0: Bad CRC
- Bytes received: 9632/1000000 BPS:60361 ETA 00:16 Retry 0: Got TIMEOUT
- Retry 0: Sender Canceled
- Retry 0: Got ZCAN
- The local sz, however, doesn't give any error message. ZCAN means:
- "other end canceled session by sending 5 ^X's" (or user typed them).
- What actually happens is that ttptycmd()'s select() times out waiting
- for something from the Zmodem partner and ttptycmd() itself kills the
- sz fork with SIGHUP. When lsz receives SIGHUP it sends the ZCAN. So the
- real problem is that after some point we're not receiving anything.
- I changed the timeout from 4 seconds to 30 seconds and now I see it
- just stops for long periods of time and then resumes. The lrz log on
- the receiving end shows tons of timouts, CRC errors, and other errors.
- The local log shows that lsz wound up sending ZCAN (2 x (10 x ^H, 10 x
- ^X)).
- Moving on to another problem... Turns out Ctrl-C (SIGINT) is working
- right after all. Since I'm using my test scripts like kerbang scripts,
- Ctrl-C exits through trap(), as it should, closing the connection and
- cleaning up. If I start Kermit and tell it to TAKE the script, then
- Ctrl-C brings me back to the prompt with the connection still open (as
- it should). However, until now I haven't done anything about the fork
- or the ptys. Added code to trap() to kill the fork and close the master
- pty. ckuusx.c, 24 Aug 2007. ====
- Added code to try to break the deadlock. If select() times out, but we
- have stuff to write either to the pty or the net, try to do it anyway,
- even though select() did not say we could. But this doesn't help
- because when select() times out we don't have anything to write. The
- problem is that after receiving that last packet from the remote rz,
- the local lsz doesn't seem to do anything, as if the lower fork wasn't
- running (and to confirm this hypothesis, sometimes I noticed that when
- I Ctrl-C'd out of this, the transfer would take off again).
- Backing up and testing with gkermit rather than zmodem:
- kst ripple.txt [824K] OK
- kst ascii.txt [1359K] OK
- krt ripple.txt -- FAILED
- It seems that we can't handle streaming. If I set up krt to disable
- streaming on receipt, it works OK.
- krt ripple.txt [824K] OK
- krb all2.bin [1000K] OK
- So here we have no trouble sending but big trouble receiving unless we
- disable streaming. Whereas with Zmodem we have trouble receiving.
- But this wasn't happening before, what changed? Using C-Kermit on the
- far end to receive the file with debug log on, I see that it is sending
- 4K data packet after 4K data packet, with the local gkermit silent, as
- expected. About midway through the transfer, the local Kermit sends an
- error packet "Transmission error on reliable link". Looking at
- G-Kermit's debug log... It receives the first five 4K data packets OK,
- but gets a CRC error on the fifth one, and sends the Error packet. So
- it has received a stream of 20-some thousand bytes OK and then messes
- up. That number sounds a lot like ttptycmd()'s buffer size. I changed
- the buffer sizes to be different:
- Read from pty and write to net: 4K
- Read from net and write to pty: 1K
- This time it received the first 4K packet and failed on the second one.
- Then I increased the buffers to 98K each, expecting to receive lots
- more packets successfully but it bombed out on the 5th one. But that's
- good, it confirms there's no logic error in the buffer management. Just
- to make sure, though, let's set the buffer size smaller than the packet
- size and disable streaming. In this case we get 4 good data packets and
- a CRC error on the 5th one and so we request retransmission, and the
- next 8 times it arrives it gets a different CRC error, but the 9th copy
- is OK. Then the next packet comes and it gets a CRC error every time.
- And this is nothing but plain ASCII text.
- Switching to remote mode:
- REMOTE=1 kk kst
- (after tricking myself because it was using ttruncmd() for this...) I
- see that nothing works at all. What did I break? 24 Aug 2007. ====
- Fixed ttptycmd() to restore console modes after a remote-mode transfer.
- ckutio.c, 25 Aug 2007. ====
- Noticed that error codes like ESRCH are not available in all modules.
- That's because of some complicated in #ifdefs in ckcdeb.h that wind up
- not always #including <errno.h>. But I notice that ckutio.c includes it
- unconditionally with no ill effects, and so does ckvfio.c. Does any
- version of Unix at all not have <errno.h>? Added a catch-all clause to
- ckcdeb.h to #include <errno.h> (in UNIX only) if, after the other
- clauses, ESRCH was still not defined. ckcdeb.h, 25 Aug 2007. ====
- Now back to debugging ttptycmd()... Remote-mode transfers with
- ttptycmd() were broken in two places, maybe as long as 2 weeks ago
- (this would have affected non-network transfers too, which I can't test
- any more). The logic was missing in a couple places for the non-network
- and/or non-Telnet and/or non-encrypting connections (if statements with
- no else parts). Fixed in ckutio.c, 25 Aug 2007. ====
- Testing remote mode:
- kst OK zst OK
- ksb OK zsb OK
- krt OK zrt OK
- krb OK zrb OK
- Functionally it all works but there are hitches with Zmodem as always.
- When sending to K95:
- . If I send with lsz, there are hundreds of "Subpacket too long" errors,
- and the transfer is very slow, but it succeeds.
- . If I send with the 1994 Omen version of sz, transmission is instantaneous
- and without errors, but then it hangs at the end.
- . If I bypass C-Kermit and send direct from lsz or sz, both work fine.
- So clearly the ptys are getting in the way. The hanging at the end
- would be caused by the sz process closing before its last output
- reached the master pty. It would need to do some form of flushing
- and/or pausing at the end but there's nothing I can do about that;
- these programs were not designed to be used in this way. Anyway, it
- only seems to happen with files longer than 100K.
- For local mode, testing in Solaris over our Kerberos 5 connection
- again:
- gkermit lrzsz
- kst OK zst FAIL
- ksb OK zsb FAIL
- krt OK zrt OK but with errors
- krb OK zrb FAIL
- If I use Omen rzsz as the external protocol (e.g. with zst), it blocks
- redirection and it sends the file to my terminal, rather than over the
- connection. This would probably be because it finds out the device name
- of the job's controlling terminal and opens it, to prevent redirection.
- This is hard to prevent in Solaris because there is no TIOCSTTY
- ioctl(). Supposedly the same thing is accomplished by closing and
- reopening the slave pty after doing setsid(). I added code to do this,
- but it made no difference. (If I use lsz instead of sz, it is indeed
- redirected, but jams up after about 15K.) ckupty.c, 27 Aug 2007. ====
- On Mac OS X with sz 3.73 1-30-03, however, the redirection works, so I
- assume it would also work in Linux, FreeBSD, NetBSD, etc, too. Doing
- the full test suite on Mac OS X:
- gkermit lrzsz rzsz
- kst OK zst FAIL (1) OK
- ksb OK zsb FAIL (2) OK
- krt OK zrt OK (3) OK for 100K file, fails for longer.
- krb OK zrb FAIL (4) OK (1MB all-bytes test pattern)
- (1) 64K file OK every time; 100K file fails every time. (2) 10K file
- fails every time. (3) Succeeds with 800K file but gets a few
- recoverable errors. (4) Succeeds with 48K binary file with some errors,
- fails with longer ones.
- So actually it looks pretty good, it's just that lrzsz messes up. When
- sending with lsz if I include -L 512 it sends the 100K test file with
- no errors, but still chokes on longer ones.
- Testing on Mac OS X again, but this time over a clear-text Telnet
- connection:
- gkermit lrzsz rzsz
- kst OK zst FAIL(1) OK
- ksb OK zsb FAIL(2) OK
- krt OK zrt OK(3) OK
- krb OK zrb FAIL(4) OK
- (1) Almost worked, finished 777K out of 824K without errors. (2) Got
- tons of errors, failed in first 30K out of 1000K. (3) OK for 100K file
- but fails for larger. (4) OK for 48K binary fail but fails for larger.
- Maybe see if we can do without the OPENPTY part.
- TOMORROW -- just clean up the code, add some SET / SHOW / HELP
- commands, document it, and move on.
- Note: In K95, SET WINDOW sets the Zmodem packet length, 32 - 1024,
- multiple of 64.
- SEE ~/80/external.txt
- Changed ftp port from int to unsigned int. ckcftp.c, 30 Aug 2007.
- Tried again to build KRB4/KRB5/SSL/TLS version for Solaris 9. Had to
- update the build procedure again, of course, because of new file and
- directory names, but ran into problems anyway because the
- cu-solaris9g+krb5+krb4+openssl+shadow+pam+zlib target was calling
- another target that did not know about the hardwired pathnames.
- Integrated the two targets and tried building again. It actually
- compiled ok (but with lots of warnings from the security modules), but
- failed at link time with krb5_init_ets not found; fixed that with an
- #ifdef NO_KRB5_INIT_ETS, now it builds OK but without the ftp client.
- Tried building it WITH the FTP and that was OK too, no changes needed
- except to the build procedure. 12 Feb 2008, that is: C-Kermit 8.0.212 :
- 20080212.
- Tried to build with -DCK_SRP and -lsrp but:
- hash_supported ckcftp.o
- hash_getdescbyname ckcftp.o
- hash_getdescbyid ckcftp.o
- cipher_getdescbyname ckcftp.o
- krypto_delete ckcftp.o
- krypto_new ckcftp.o
- cipher_supported ckcftp.o
- krypto_msg_priv ckcftp.o
- krypto_msg_safe ckcftp.o
- hash_getlist ckcftp.o
- cipher_getlist ckcftp.o
- cipher_getdescbyid ckcftp.o
- Sent mail to Tom Wu and backed off for now. makefile, 14 Feb 2008. (Tom
- Wu never answered; seems like SRP is defunct.)
- The ".blah = xxx" form of variable assignment only worked for variables
- names of length 22 or less, noticed and fixed by Wolfram Sang.
- ckucmd.c, 5 Mar 2008. ====
- In "set host /pty ssh ..." connections, the INPUT command suddenly
- stopped working. This is in Solaris 9. It happens with all 8.0.*
- versions of C-Kermit, so it's nothing to do with ttptycmd(). Added some
- debug() statements but they don't show anything. Turns out there wasn't
- a problem after all. Wed Mar 26 16:04:53 2008 ====
- Changed cmifi() to not print "?No files match" (or whatever) if SET
- QUIET ON. ckucmd.c, 26 Mar 2008. ====
- Added \v(remoteip) for the IP address of the host we're connected to,
- and \v(inmessage) for INPUT status messages corresponding to
- \v(instatus). ckuusr.h, ckcmai.c, ckuus[24].c, 26 Mar 2008. ====
- Made \fkeywordval() strip braces/quotes from the right-hand side so we
- can handle things like:
- password="stringwithspaceatend "
- ckuus4.c, 6 Aug 2008. ====
- Added invisible PUTENV command for UNIX only. Value should not be
- enclosed in doublequotes. Requires lge \v(buildid) 20080826.
- ckuusr.[ch], 26 Aug 2008. ====
- Added SET VARIABLE-EVALUATION { RECURSIVE, SIMPLE }. This is highly
- experimental, but also highly desirable if it works out. SIMPLE
- inhibits the default recursive method of evaluating \%x and \&x[]
- variables, which is, quite frankly, nuts and makes programming in
- Kermit at best counterintuitive. I made an exception in the case of
- array subscripts, because changing how they are evaluated could break a
- lot of scripts, and anyway there should never be any harm in evaluating
- them recursively because their final value is always (or should be)
- numeric, not some string that might contain backslashes. The SET VAR
- setting is on the stack, just like SET QUIET (it follows the
- quiet/xquiet code in ckuus[356].c), so macros or command files that
- change it can't break the script that invokes them. Added \frecurse()
- to force recursive evaluation of a \%x or \&x[] variable regardless of
- the VARIABLE-EVALUATION setting. Added \v(vareval) to allow
- programmatic setting to current setting. Tested on Solaris 9 but should
- be totally portable. ckuusr.[ch], ckuus[356].c, 11 Sep 2008. ====
- From Günter Knauf: 64-bit builds were failing on SuSE Linux because
- libresolv and libcrypt were in lib64 rather than lib; updated the tests
- in the linux makefile target to find them. makefile, 12 Jan 2009. ====
- Tried building on Red Hat Enterprise Linux Server release 5.3 64-bit.
- There is no curses or ncurses. "make linuxnc" compiled OK but collapsed
- at link time looking for crypt(), res_search(), and dn_expand(). Turned
- out the linuxnc (and linuxc) targets needed the same treatment as the
- Linux one for 64-bit Linuxes. makefile, 3 Mar 2009. ====
- Consolidated the linux targets so we no longer need three separate ones
- for curses, ncurses, and no curses. "make linux" works ok on computers
- with and without (n)curses. "make linux+ssl", ditto. "linux+krb5+ssl
- builds OK but needs -DNO_KRB5_INIT_ETS". Makefile, 3 Mar 2009. ====
- Fixed copyright date announced in herald, ckuus5.c, 3 Mar 2009. ====
- Patch from Seth Theriault to avoid deprecation warning for utmp
- references in ckufio.c in Mac OS X 10.5 (later, this became a
- consolidated makefile target that works automatically for at least Mac
- OS X 10.3.9 through 10.5.6). makefile, ckufio.c, 28 April 2009. ====
- zshcmd() (the function used by RUN and ! to run external commands) was
- not falling back as expected in Linux RHEL4/5 if SHELL was not defined
- in the environment. Also in all Unix versions, there was no indication
- if a RUN/! command failed (other than the return code) because the
- specified shell didn't exist or was not executable (e.g. the SHELL
- environment variable was misdefined). Now it prints the name of the
- offending shell and the reason it couldn't be executed (Not found,
- Permission denied, etc). ckufio.c, 28 April 2009. ====
- There is no easy way to get the last field of string; for example, the
- extension from a filename, which might have any number of fields. In
- general we want to be able to get "word number n" counting from the
- right; \fword() lacks this ability. Now if you give it a negative word
- number, that says to count from the right; for example \fword(one two
- three four five, -2) returns "four". ckclib.c, ckuusr.c, 14 May 2009.
- ====
- Fixed a typo in the aix51+openssl (SSLLIBS should have been SSLLIB).
- From Jason Lehr. makefile, 27 May 2009. ====
- Updated the linux+openssl+zlib+shadow+pam target to chain to the new
- main Linux target. A bunch of other ones remain un-updated. makefile,
- 12 Jun 2009. ====
- Updates to the new Mac OS X 10.5 target from Seth Theriault (which is
- supposed to work on all Mac OS 10-point-anything) to avoid warnings
- that came up on on Mac OS 10.4.11/Intel. Once this one is proven we
- should be able to remove/consolidate lots of other ones. makefile, 12
- Jun 2009. ====
- C-Kermit disables SSL with the message "?OpenSSL libraries do not match
- required version." if the version of OpenSSL that Kermit was built with
- is not exactly the same as the version that is loaded dynamically at
- runtime. This is actually the proper behavior, since APIs are not
- guaranteed not to change between OpenSSL versions prior to 1.0.0. Made
- the error message more informative. ck_ssl.c, 26 Aug 2009, and again 28
- Aug 2009. ====
- AIX 6.1 is out, it is really just a new name for AIX 5.4. Added
- makefile targets, plus for the first I made AIX 4.2 and later figure
- out its version number in the makefile target so we don't have to keep
- adding new -DAIXnn sections to the code, and also get its hardware name
- (e.g. "powerpc") from uname at make time, rather than hardwiring
- "rs6000" as I did before. Consolidated all AIX 4.2 and later targets so
- now just "make aix" or "make aix+ssl" can be used. Except not the gcc
- ones as they have some quirks so I'd rather not disturb them. Tested
- this on AIX 5.3. makefile, 28 Aug 2009. ====
- From Kinjal Shah, a correction to the Linux makefile entry that allows
- it find the 64-bit curses or ncurses library. makefile, 29 Aug 2009.
- ====
- Renamed aix4[23]: to oldaix4[23]: in makefile to fix the warning
- messages I didn't notice before. I didn't want to remove them because
- they have some special things that might still be needed, if anybody
- still has these AIX versions. makefile, 29 Aug 2009. ====
- Built on RHEL 5.3 64-bit, regular and with OpenSSL 0.9.8e. 31 Aug 2009.
- ====
- Built on NetBSD 5.0.1/i386, regular and with OpenSSL 0.9.9-dev, 1 Sep
- 2009. ====
- Changed SSL message to mention LD_LIBRARY_PATH (Solaris), SHLIB_PATH
- (HP-UX), LIBPATH (AIX), or LD_LIBRARY_PATH (Linux). ck_ssl.c, 3 Sep
- 2009 ====
- Noticed that "make linux+openssl" fails to include -lutil a link time,
- which it needs for openpty(). That's because this target is obsolete. I
- renamed it to be oldlinux+openssl and added linux+openssl as a synonym
- for linux+ssl. makefile, 3 Sep 2009. ====
- Tested linux+openssl+zlib+shadow+pam, it's OK. Also linux+krb5. Also
- linux+krb5+ssl. makefile, 3 Sep 2009. ====
- Tried building on Solaris 9 with OpenSSL 0.9.8k with
- solaris9g+openssl+shadow+pam+zlib, it failed like so:
- ck_ssl.c:2875: error: conflicting types for 'inet_aton'
- /usr/include/arpa/inet.h:52: previous declaration of 'inet_aton' was here
- make[2]: [ck_ssl.o] Error 1
- make[2]: Leaving directory hmt/sirius1/prv0/kd/fdc/solaris9ssl'
- make[1]: [solaris2xg+openssl+zlib+pam+shadow] Error 2
- make[1]: Leaving directory hmt/sirius1/prv0/kd/fdc/solaris9ssl'
- make: [solaris9g+openssl+shadow+pam+zlib] Error 2
- The problem was caused by including an inet_aton() function ck_ssl.c
- for the benefit of platforms that don't have one in their libraries.
- This is defeated by including NO_DCL_INET_ATON in KFLAGS. I added this,
- but then I thought it would be a good idea to automatically sense the
- OpenSSL version so we can automatically set OPENSSL_097 or OPENSSL_098
- rather than bombing out, so I added code to do that too, and also to
- set the Solaris version number: 9, 10, or 11. The new entry is
- solaris9g+openssl. ckcdeb.h, makefile, 3 Sep 2009. ====
- Fixed a complaint in ckufio.c about implicit declaration of initgroups.
- ckufio.c, 4 Sep 2009. ====
- Built on Solaris 10 with gcc and Sun CC using new solaris{9,10,11}
- target that is like the new solaris{9,10,11}g one but without the
- gccisms. makefile, 4 Sep 2009. ====
- Changed solaris{9,10,11}g+ssl target to set only the SSL-specific
- things and then chain to the main solaris{9,10,11}g target. Tested OK
- on Solaris 9 and 10. makefile, 4 Sep 2009. ====
- Created solaris{9,10,11}+ssl target that is exactly like the
- solaris{9,10,11}g+ssl except it chains to the solaris{9,10,11} target
- instead of the solaris{9,10,11}g one. That is, it builds an SSL version
- of C-Kermit using Sun CC rather than gcc. makefile, 4 Sep 2009. ====
- Tried building on HP-UX 10.20, bundled (non-ANSI) compiler ("make
- hpux1000"). This failed until I:
- . Moved a struct initialization out of setextern(), ckuus3.c.
- . Removed an ANSIism from the declaration of sigchld_handler() in ckutio.c
- . Added a cast to strcmp() in zvuser(), ckufio.c.
- Builds OK now. Built OK with "hpux1000o" (the ANSI compiler) too. And
- with "hpux1000gcc". Couldn't test "hpux1000o+openssl". 21 Sep 2009.
- ====
- The Sony Playstation 2 and 3 are 64-bit PowerPC platforms that can run
- Linux if it is installed as an "other OS" on its hard disk; and the
- Linux kernel since 2.6.21 supports the PS3 without any patching
- required. Pawel Rogocz reported that "make linuxppc" (one of the old
- targets that has not yet been integrated into the main "linux" target)
- compiles OK on 2.6.29-ydl61.3 (Yellow Dog Linux release 6.2 'Pyxis'),
- but fails at link time because 'openpty' isn't found, because -lutil
- was not included, because that part was added only to the main linux
- target. I asked him to try "make linux" and he sent back a transcript
- in which there were thousands of errors from the curses code ckuusx.c.
- Later I tried it myself and it built without a hitch. My theory is that
- between then and now, a missing piece of the ncurses library
- (/usr/include/ncursesw) was installed. 21 Sep 2009. ====
- HP-UX 9.05 on PA-RISC 9000/712 building with hpux0900 (bundled
- compiler):
- . ckutio.c compilation failed with PENDIN and FLUSHO not defined in
- pty_make_raw(). I dummied definitions for them to handle this situation
- on this or any other platform where it might crop up.
- ckutio.c, 24 Sep 2009.
- . Ditto for the PTY module, + IMAXBEL. ckupty.c, 24 Sep 2009.
- . References to endusershell() were fatal in the bundled compiler. Changed
- the hpux0900 target to define NODCLENDUSERSHELL, and put a special case
- in ckufio.c to not put a cast in front of the call if NODCLENDUSERSHELL
- is defined. Now it builds and links OK. makefile, ckufio.c, 24 Sep 2009.
- ====
- HP-UX 9.05 on PA-RISC 9000/712 building with hpux0900o (optimizing
- compiler):
- . Warnings in ckutio.c at line 14860 about arguments to select (pointers
- are not assignment-compatible). "man select" says arguments are ints.
- Defining INTSELECT fixes these warnings but results in fatal errors later
- around line 14881 and others in the area involving FD_SET. This was too
- involved so I put it back as it was. 24 Sep 2009.
- ====
- Built OK on Solaris 10 with Sun CC. A couple warnings about implicit
- function declarations for curses routines because apparently they
- aren't declared in curses.h. Tuff. 25 Sep 2009. ====
- Tried building on Solaris 10 with Sun CC and OpenSSL 0.9.8k, and this
- uncovered various loose ends in the solaris9+openssl target, which I
- fixed. makefile, 25 Sep 2005. ====
- Fixed four typos in printfs in ck_ssl.c, \% instead of just %. 25 Sep
- 2009. ====
- Squelched 20-some complaints about a character array being referred to
- directly instead of by a pointer, plus several other similar nits to
- get rid of all the compilation warnings on Solaris 10 with Sun C 5.8
- Patch 121015-06 2007/10/03. ckctel.c, ckctel.h, 25 Sep 2009. ====
- Built the result on the same Solaris 10 system with gcc 4.2.4 using the
- new solari10g+openssl target, working out a few kinks here too.
- makefile, 25 Sep 2009. ====
- Made consolidated Solaris 9/10/11 64-bit targets for gcc, solaris9g64,
- solaris10g64, solaris11g64, tested on Solaris 10 Sparc. makefile, 25
- Sep 2009. ====
- Made consolidated Solaris 9/10/11 64-bit targets for Sun cc:
- solaris9_64, solaris10_64, solaris11_64. These simply set a couple
- flags and chain to the main solaris9 target. makefile, 25 Sep 2009.
- ====
- Removed a bunch of old superfluous Solaris 9 and 10 targets:
- oldsolaris9, oldsolaris9lfs, solaris9g64 solaris9g_64, oldsolaris10 old
- solaris10lfs, oldsolaris10+openssl, oldsolaris10g+openssl,
- solaris10_64, oldsolaris10g, solaris10g_64, solaris10g64. There are
- still plenty more to prune but it's a start. makefile, 25 Sep 2009.
- ====
- Added or fixed some missing prototypes in ckctel.h:
- fwdx_send_xauth_to_xserver(), fwdx_parse_displayname. 25 Sep 2009. ====
- Improved the instructions for building secure versions in the makefile,
- using this example:
- make solaris9+openssl "SSLINC=-I/opt/openssl-0.9.8k/include" \
- "SSLLIB=-L/opt/openssl-0.9.8k/lib"
- makefile, [8]http://kermit.columbia.edu/security.html, 25 Sep 2009.
- ====
- Built on HP-UX 11.11, 26 Sep 2009:
- . make hpux1100 (ok)
- . make hpux1100gcc (ok)
- . make hpux1100o (gets a lot of warnings about sendpath and sendfile,
- because they are also declared in <sys/socket.h>, but builds OK)
- . make hpux1000gcc+openssl \
- SSLINC=-I/opt/openssl/include SSLLIB=-L/opt/openssl/lib
- Note: sendpath and sendfile are not Kermit symbols. The warnings are
- coming from socket.h: 'Redeclaration of "sendfile" with a different
- storage class specifier'. This is nothing new; see notes of 2-4 Jan
- 2005. ====
- From Peter Eichhorn:
- . Update to makefile to make current code build OK on HP-UX 8.00.
- . Changes to format of some hints to make them more copy-and-pastable.
- makefile, ckuu5.c, 28 Sep 2009. ====
- From Peter Eichhorn: Changes to HP-UX 7.0 target to increase the switch
- table stack size, which was overflowing. makefile, 30 Sep 2009 ====
- HP-UX 6.5 (1989), "make hpux0650tcpc"... (8:19...) Needed to not
- include arpa/inet.h (which doesn't exist) and not use host address
- lists (add -DNOHADDRLIST), which gets us past ckcnet.c, but in ckcftp.c
- we bomb out on FD_SETSIZE undefined. Somehow we worked around this in
- ckcnet.c. Patched in a definition in ckcftp.c, and also added
- -DINTSELECT to compiler flags. Compiles ok, bombs at link time on
- bcopy, bzero, FD_ZERO, FD_SET, FD_ISSET. Now it compiles and links OK
- but dumps core when started. Added -DNOCKGETFQHOST, rebuilt from
- scratch (takes 35 minutes). It starts OK, but it dumps core when given
- a "telnet xxx" command, where xxx is a hostname. However, it works OK
- if an IP address is used: "telnet 123.45.6.78". It took all day to
- track this down, but now it's fixed (see the #ifdef HPUX6 sections of
- ckcnet.c). So now (for the first time, I think) we have both telnet and
- ftp in HP-UX 6.x, if anyone cares. ckcnet.[ch], ckcftp.c, makefile, 2
- Oct 2009. ====
- Changed default SET TERMINAL TYPE type for K95 from vt320 to vt220.
- This is because Unix OS's such as Solaris have dropped vt320 as a
- terminal type. settrmtyp(), ckuus7.c, 5 Oct 2009. ====
- I moved the PUTENV command code, which was inline, to a function,
- doputenv(). ckuus[r7].c, ckuusr.h, 5 Oct 2009. ====
- Changed the UNIX version of SET TERMINAL TYPE to take a value and then
- do the equivalent of "export TERM=value" by calling doputenv(). This
- sets \$(TERM) correctly and passes its value along to inferior
- processes. However, to make this take effect within Kermit itself (for
- the fullscreen file transfer display and for the SCREEN command,
- Ctrl-L, etc) I also had to reinitialize the curses database, which is
- tricky because normally if you feed it an unknown terminal name, it
- just exits. ckuus7.c, 5 Oct 2009. ====
- Changed the little-known and little-used RESET command (which closes
- all open files) to also put command echoing back to normal in case it
- got messed up somehow (as in HP-UX 6.5, upon returning from PUSH).
- ckuusx.c, 5 Oct 2009. ====
- For Unix, increased string buffer sizes for wildcard expansion for all
- platforms that have BIGBUFOK defined from 500000 (0.5M) to 10000000
- (10M) bytes, and for 64-bit builds to 2000000000 (2G) bytes. No point
- making it bigger than that because malloc's argument is a size_t, which
- is an int. ckufio.c, 5 Oct 2009. ====
- Built on Mac OS X 10.4.11, required one minor adjustment to the
- makefile (-DNODCLINITGROUPS). This was using the macosx10.5 target,
- which is supposed to be universal like the linux and netbsd targets,
- but not yet proven. Also built a 64-bit version (-mpowerpc64 -mcpu=G5
- -mtune=G5 -arch ppc64); it compiles and links OK but won't start: "Bad
- CPU Type in executable". Fix later... makefile, 5 Oct 2009. ====
- Changes from Seth Theriault to suppress signed vs unsigned char
- warnings in Mac OS 10.5.8 from gcc4, and a new makefile target for Mac
- OS X (presumably 10.3.9 or later) + Kerberos 5 and OpenSSL. ckutio.c,
- ckuath.c, ckctel.c, ckcnet.c, ckcftp.c, ck_crp.c, makefile, 6 Oct 2009.
- ====
- Later I had to back out of these, because although it made for a
- clean build, in the resulting executable SSL connections didn't work.
- ====
- Tue Oct 6 17:23:27 2009 FTP address resolution is broken, but
- ftp_hookup() hasn't changed. So... (see the #ifdef HPUX6 sections of
- ckcnet.c) (I did, and I rolled back some of the changes from the other
- day, but it made no difference.) Putting back the ckcftp.c from a few
- weeks ago makes no difference. Putting back the ckcnet.c from a few
- weeks ago makes no difference. ====
- Added patches from Seth Theriault so macosx10.5+krb5+openssl would
- build on Mac OS X 10.3.9. makefile, ckcftp.c, 7 Oct 2009. ====
- Built today's code on Linux RHEL4, NetBSD 5.0.1, Solaris 9, and Mac OS
- X 10.4.11, both with and without SSL. The NetBSD system has OpenSSL
- 0.9.9-dev. 7 Oct 2009. ====
- In Mac OS X 10.6, the following symbols are unresolved at link time:
- _des_key_sched, _des_new_random_key, _des_ecb_encrypt,
- _des_init_random_number_generator, _des_fixup_key_parity. This is with
- OpenSSL 0.9.8k. But it doesn't happen on other platforms that have
- 0.9.8k. ====
- Added SET SESSION-LOG NULL-TERMINATED-TEXT. This is for the benefit of
- a speech synthesizer that will speak a line of text only after
- receiving a NUL character. A more general solution would be to define a
- filter or whatever, but who has time. ckuus[23x].c, 7 Oct 2009. ====
- Consolidated Mac OS X targets, and removed experimental 64-bit ones,
- because they never could work in 10.5 and earlier because 64-bit libs
- are missing, and 10.6 and later are 64-bit automatically. makefile, 8
- Oct 2009. ====
- Built on Mac OS X 10.6.1. It came out automatically as a 64-bit build
- because __LP64__ is defined somewhere that I can't find. But this
- explains why the 0.9.8k on 10.6 comes up with missing symbols when the
- 0.9.8k lib 10.5 (or on Solaris or on Linux) does not: it's a different
- library: "Mach-O 64-bit dynamically linked shared library x86_64",
- rather than "Mach-O dynamically linked shared library ppc". Probably
- the 64-bit version has some things #ifdef'd out. Added -m32 to the
- CFLAGS and LNKFLAGS for the macosx+krb5+openssl targets, and it built
- OK one time. But then the errors came back. makefile, 8 Oct 2009. ====
- Updated C-Kermit installation for Mac OS X in ckuwr.html on the
- website. 8 Oct 2009. ====
- Tried some things to get around the problem with OpenSSL in Mac OS X
- 10.6, to no avail. Asked Jeff. He said, "MacOS X no longer includes DES
- anywhere on the system. Not for SSL, not for Kerberos, not for
- anything. This will increasingly become the situation on new operating
- systems. Windows 7 and 2008 R2 will also ship with no DES." Sure
- enough, the Mac OS X Server Upgrading and Migrating document for 10.6
- says, "Mac OS X Server v10.6 does not support single DES encryption. It
- supports AES 128 and 256 encryption types. However, during a migration
- or upgrade from v10.4 to v10.6, servers that were Kerberized by the
- v10.5 Open Directory server will not use the AES 128 or 256 encryption
- types. To use the AES 128 or 256 encryption types you must re-Kerberize
- all servers." 12 Oct 2009. ====
- DES and 3DES encryption can be excluding removing the -DCK_DES flag. I
- removed this one and -DLIBDES (and -m32) and this makes a working
- 64-bit version. Then I added code to the macosx+krb5+openssl target to
- use these flags if the Mac OS X version was 10.5 or less and leave them
- out for 10.6 or later. Tested on 10.4.11 and 10.6.1. A better way to do
- it might have been "nm -gj libssl.dylib | grep des_", but that gives
- the same results on 10.4 and 10.6. Also, 10.6 still has
- /usr/include/ssl/des.h. makefile, 13 Oct 2009. ====
- Next issue:
- In file included from ckutio.c:15674:
- /usr/lib/gcc/i386-redhat-linux/3.4.6/include/varargs.h:4:2: #error "GCC no
- longer implements <varargs.h>."
- /usr/lib/gcc/i386-redhat-linux/3.4.6/include/varargs.h:5:2: #error "Revise
- your code to use <stdarg.h>."
- The problem occurs when trying to force a non-ANSIC build with GCC.
- Changing the source file to include <stdarg.h> instead of <varargs.h>
- doesn't help because evidently <stdarg.h> requires an ANSI C compiler.
- Nothing can be done about this. 13 Oct 2009. ====
- Next issue: Can't compile ckcftp.c with -DNOCSETS or -DNOSPL; some
- #ifdef/#endif doesn't match up. Sigh, this is the hardest kind of thing
- to debug. There's 17,622 lines of code in this module and no tool that
- I know of.... Wait, I wrote one. But it shows all the
- #if/#ifdef/#ifndef's and #endifs matching up just fine. Backing off to
- ckcftp.c of a few days ago (before char / unsigned char casts were
- added), I see that it builds OK, so I backed off to that one, but put
- back the special case #ifdef for MACOSX103 declaring CONST
- gss_OID_desc, and it builds OK (the other stuff was purely cosmetic,
- when will I learn?). ckcftp.c, 13 Oct 2009. ====
- Protected cvtstring() and related functions with #ifdef
- NOCSETS..#endif, and ditto for the character-set conversion code in
- dorename(). ckuus6.c, 13 Oct 2009. ====
- Fixed an #endif /* TNCODE */ that was a line too low in ttptycmd(),
- causing -DNONET builds to fail. ckutio.c, 13 Oct 2009. ====
- There was a reference to doputenv() that wasn't guarded by #ifndef
- NOPUTENV, fixed in ckuus7.c, 13 Oct 2009. ====
- Moved doputenv() and settermtyp() out of an #ifdef NOLOCAL section
- because these are useful even when not making connections. ckuus7.c, 13
- Oct 2009. ====
- Moved havelfs declaration outside of #ifdef NOXFER because it was also
- used for other things. ckcmai.c, 13 Oct 2009. ====
- COPY /PRESERVE depended on code from the Kermit protocol module, which
- is omitted in -DNOXFER builds. Disabled COPY /PRESERVE in -DNOXFER
- builds. ckuus6.c, 14 Oct 2009. ====
- SHOW PROTOCOL code for external protocols had to be #ifdef'd out for
- -DNOPUSH builds. ckuus4.c, 14 Oct 2009. ====
- There was some confusion between "No XYZMODEM" and "No external
- protocols"; cleared up in ckuus3.c, 14 Oct 2009. ====
- After all that, 86 different combinations of feature selections built
- OK on Linux. And the Kerberized version (K5) works OK on Linux for
- Telnet and FTP. 14 Oct 2009. ====
- Changed version number to 9.0. All modules, 16 Oct 2009. ====
- Need to make LOG SESSION log to a tty. Right now "log session
- /dev/ttyKeySerial1" says "Write permission denied" even though the
- device is crw-rw-rw-. This happens in zchko(), which is called by
- cmofi(). The problem is that /dev/ is not writeable. I added a
- Unix-only clause that attempts to open the file for write access using
- open(), in order to get a file descriptor, which then can be passed to
- isatty() to check if it's a tty, and if so, to allow access. And then
- close it. I tested this on Mac OS X as follows:
- log session /dev/ttyKeySerial1
- telnet somehost
- The Mac's serial port was connected to the serial port of another
- computer where Kermit displayed the incoming characters in CONNECT
- mode. Glitches:
- 1. The port has to be set up as desired in advance, outside of Kermit.
- 2. log session /dev/ttyKeySerial1 will hang if any required modem signals
- are not present when the port is opened.
- 3. Bypasses lockfile mechanism - so we do this only if -DNOUUCP.
- For (2), I tried setting O_NDELAY / O_NONBLOCK, and this allowed
- zchko() to continue, but then it freezes in the subsequent fopen(). So
- I changed zopeno() to also check if the device is a serial port, and if
- so, to open() it with O_NDELAY / O_NONBLOCK, and then convert the file
- descriptor into a file pointer with fdopen().
- Now for the speaking device that needs lines to be terminated by NUL...
- set session-log binary <-- need to put these in SHOW LOG
- set session-log null-padded (and in HELP SET LOG)
- set line /dev/ttyKeySerial1
- This part works.
- This feature is enabled only for -DNOUUCP builds because serial ports
- aren't like other Unix files; we would have to create a lockfile, but
- we can't do that... actually, ttlock() takes a name as an argument, but
- ttunlck() does not, so there would be no way to remove the lock.
- Anyway, there is only one API for configuring the port (speed, flow
- control, etc) and it only works with the SET LINE device, not any
- random file. To fix this would require massive redesign and changes.
- ckuus[23].c, ckufio.c, 19-20 Oct 2009. ====
- I made -DNOUUCP the default for Mac OS X, since everybody winds up
- building it that way anyhow. To undo this, do "make macosx
- KFLAGS=-UNOUUCP". makefile, 21 Oct 2009. ====
- Changed SET SESSION-LOG TEXT to strip out ANSI escape sequences;
- previously there wasn't that much difference between TEXT and BINARY
- logs. It's still not perfect; for example it doesn't delete characters
- that the user erased. (Made sure this still builds with -DNOESCSEQ.)
- ckucns.c, 22 Oct 2009. ====
- Changed SHOW LOG to show the SET SESSION-LOG settings, as well as SET
- DEBUG, which was not shown before. ckuus5.c, 22 Oct 2009. ====
- If a series of PUTENV commands is given, each new one undoes the
- previous one, so only the last definition is seen by the new fork (or
- by Kermit itself). Turns out you can't feed automatic variables to
- putenv(); they have to be static, so to allow for multiple PUTENV
- commands Kermit has to maintain an array of static strings. ckuus7.c, 6
- Nov 2009. ====
- From Seth Theriault, a better way for the makefile to determine the Mac
- OS X version number; there's a program for this, sw_ver. makefile, 6
- Nov 2009. ====
- Peter Eichhorn reported that file-transfer failure hints were not
- coming out since Dev.27. The only change I made since then was to skip
- them if the file-transfer protocol was not Kermit. I was using the
- wrong variable in the tests, 'proto' instead of 'protocol'. ckuus5.c, 6
- Nov 2009. ====
- Changed Mac OS X targets to correctly extract the Mac OS major version
- from uname -r in order to choose correctly between utmp and utmpx; this
- wasn't working in 10.6.1. makefile, 6 Nov 2009. ====
- Fix from Seth T. for an oversight in the previous edit. Also add
- MACOSX103 to "show features" display. makefile, ckuus5.c, 10 Nov 2009.
- ====
- Added REJECT as a synonym for DISCARD in SET FILE COLLISION; it's more
- intuitive and more accurate. ckuus[27].c, 15 Nov 2009. ====
- \fsplit() and \fword() always break on 8-bit characters unless you
- explicitly put every single 8-bit value into the include set, e.g. (for
- a TSV file):
- undef include
- for \%i 128 255 1 {
- if == \%i 9 continue
- .include := \m(include)\fchar(\%i)
- }
- .\%n := \fsplit(\m(line),&a,\9,\m(include))
- I changed cksplit() to treat all 8-bit bytes 128-255 as non-break
- characters by default. It might have made more sense to do this for
- 160-255 (since 128-159 are traditionally C1 control characters) but
- thanks to Microsoft tradition is out the window. To treat one or more
- 8-bit characters as break characters, put them in the break set. This
- might break some scripts, but I doubt it because this flaw was so awful
- that if anyone had come up against they would have let me know.
- ckclib.c, 16 Nov 2009. ====
- Changed the netbsd target to set -funsigned-char, since cc on NetBSD is
- actually gcc. makefile, 16 Nov 2009. ====
- Changed macosx targets to get the CPU type from the HOSTTYPE
- environment variable. Also added getenv("HOSTTYPE") as a last-resort
- method to set the \v(cpu) variable at runtime (maybe it should be the
- first resort?)... ckuus4.c, makefile, 16 Nov 2009. ====
- Made sure the solaris9_64 and solaris10 targets still work. 16 Nov
- 2009. ====
- Made sure the current source package builds OK on HP-UX 10.20... Got a
- lot of "warning 6062: Optdriver: Exceeding compiler resource limits in
- xxx; some optimizations skipped. Use +Onolimit if override desired" but
- it builds OK. Tested long file transfer; works OK. 17 Nov 2009. ====
- Built on FreeBSD 7.2 with and without OpenSSL, all OK. 17 Nov 2009.
- ====
- Built on NetBSD 5.0.1 with and without OpenSSL, all OK, but netbsd+krb5
- fails with "can't find -lgssapi_krb5"; worked around this with
- "K5LIB=-L/usr/local/kerblib" (where the lib actually is on this host)
- but then it failed with "ckcftp.c:13868: error: 'gss_nt_service_name'
- undeclared". 17 Nov 2009. ====
- I found a VMS 6.2 system... Takes a loooong time to build there. In
- ckuusy.c, DEC C didn't like the prototypes and declarations of
- dorlgarg() and dotnarg() as static so I made them not static. But that
- didn't help, now it fails at the very end, saying the final #ifdef is
- an invalid statement. It looks like an #ifdef mismatch that affects
- only VMS. I ran my #ifdef matcher, it turned up nothing. I substituted
- a copy of ckuusy.c from 2007, it comes up with the same errors. Then I
- substituted the copy from 8.0.211 from 2004, and this one compiled OK
- and, miraculously, the whole mess even linked OK and runs OK. The Alpha
- binary is 2.84MB. Now I have 4500 lines of code to compare.... I went
- through the two files line by line and I can't see a single thing
- wrong. I gave up and tried building the TCP/IP version. It builds fine
- except for ckuusy.c, with the utterly useless error message:
- #endif /* NOCMDL */
- ...................^
- %CC-E-BADSTMT, Invalid statement.
- Indicating the last line in the file. Just for the heck of it, I put
- another line after that one:
- /* This is a test */
- and got:
- /* This is a test */
- ....................^
- %CC-E-BADSTMT, Invalid statement.
- So it is not objecting to anything in the file. Trying the old LISP
- trick, I put an extraneous closing bracket after that. Success!
- Honestly, I don't see anything wrong with file. It's DEC C V5.3-006. I
- suspect a C bug. I'll leave it like this for now until I get access to
- some other VMS versions. Another clue is that when building the network
- version I get a horrible warning I never saw before from a module that
- hasn't been touched in a very long time (ckvrtl.c). Also, in the
- network version, I note that the FTP code is not compiled in. We have
- to try this again with some command-line switches, but it'll do for
- now. ckuusy.c, 18 Nov 2009. ====
- ---C-Kermit 9.0 Alpha.01--- ====
- From Steven Schweda (SMS), the real solution for the VMS closing brace
- problem, it wasn't a DECC bug, it was a me bug. ckuusy.c, 20 Nov 2009.
- ====
- Rediscovered the new VMS build options: f for Long Files, i for
- Internal FTP. "make mnf" doesn't work on VMS 6.2, it looks like the VMS
- definition for CK_OFF_T got lost. Same thing with "make mfi". Come back
- to this later. ====
- From Gerry Belanger, a fix to INPUT /COUNT:n. ckuus4.c, 26 Nov 2009.
- ====
- Added \fsqueeze(s), returns string s with leading and trailing
- whitespace removed, Tabs converted to Spaces, and multiple spaces
- converted to single spaces. For now, ASCII only, no options. ckuusr.h,
- ckuus[24].c, 27 Nov 2009. ====
- I wrote a Kermit script to read a big file of addresses on Solaris 9,
- \fsqueeze()ing each line. After about 14000 lines, there was a malloc
- failure in getnct() (the command-file reader). There's nothing wrong
- with \fsqueeze(), the failure is on a deeper level, because the same
- thing happens if I use \fupper() (which is structurally identical to
- \fsqueeze()) in the same script. The problem is not in getnct() either,
- because every malloc() is freed (I checked). On the other hand, the
- same script (with \fupper() instead of \fsqueeze() completes OK in
- C-Kermit 8.0.201. If I remove the function call (\fsqueeze() or
- \fupper()) from the script, it also runs OK in 9.0. This seems to point
- the finger at fneval(), which contains countless malloc's and free's.
- But comparing fneval() between 8.0.211 and 9.0, I don't see any
- difference that would explain this behavior -- nothing at all that
- involves malloc(), makstr(), or free(). Nor any pertinent change in the
- caller (zzstring) of fneval(). 27 Nov 3009. ====
- Another problem is that when this happens, the error is not caught
- (e.g. by the IF FAIL statement after the command that contains the
- function call); instead, C-Kermit returns immediately to its prompt. 27
- Nov 2009. ====
- It could simply be that some of the buffers we allocate are much bigger
- now. But again, I don't see much difference between 8.0.211 and 9.0; we
- were already allocating 32K command-related buffers (malloc() takes a
- size_t, and size_t is an int almost everywhere). I built the same
- source on NetBSD and ran the same script (with \fqueeze()), and it
- worked fine. Let's worry about this later, if it comes up. 27 Nov 2009.
- ====
- Built OK on Silicon Graphics IRIX 6.5 R10000; regular build OK, SSL and
- Kerberos builds failed. 30 Nov 3009. ====
- Tried to build on Digital Unix 4.0F but it blew up in ckutio.c,
- apparently not recognizing any of the terminal struct symbols from
- termios.h. Tried again with gcc, same thing. Tried explicitly
- #including <sys/termios.h> within #ifdef TRU64, same thing. What could
- have changed? 30 Nov 2009. ====
- Built OK on Linux RHEL5.4/Itanium-2, make linux. The secure build
- required "FLAGS=-DNO_KRB5_INIT_ETS" and built OK. 30 Nov 2009. ====
- Built OK on Digital Unix 4.0F using "make osf" instead of "make
- tru64-40f". I don't know why the specific target doesn't work, but it's
- not worth chasing down. 2 Dec 2009. ====
- Built OK on MirBSD 10, despite a lot of gratuitous compiler warnings.
- Built OK on MirBSD 10, OpenBSD 4.5, and Fedora 10. 3 Dec 2009. ====
- (Various other successful Unix builds in these weeks...) ====
- Built on VMS 7.2 and 8.3 with and without TCP/IP, no problems. 11 Jan
- 2010. ====
- Built on VMS 8.3 with "make fi" to include the FTP client and long-file
- support (mid Jan 2010).
- Built on VMS 8.3 with UXC 5.6 and HP SSL 1.3, which is OpenSSL 0.9.7e.
- It compiled and linked OK but when I tried to make an FTP SSL
- connection it crashed in SSL$LIBSSL_SHR, which is called from
- ssl_auth(), after having had TLS accepted as an authentication type,
- but before actually authenticating. In Unix:
- 19. ftp open ftp.somecompany.com /user:pge.com/test_quota /password:xxxxxx
- Connected to ftp.somecompany.com. 220-Somecompany FTP v6.0 for WinSock
- ready... 220 Welcome to the online storage FTP server. Please check the
- main web site for system announcements and AUP. (O) ---> AUTH TLS 234
- AUTH command OK. Initializing SSL connection. TLS accepted as
- authentication type SSL DEBUG ACTIVE =>START SSL/TLS connect on COMMAND
- In VMS:
- 19. ftp open ftp.somecompany.com /user:pge.com/test_quota /password:xxxxxx
- Connected to ftp.somecompany.com. 220 Somecompany FTP v6.0 for WinSock
- ready... ---> AUTH TLS 234 AUTH command OK. Initializing SSL
- connection. TLS accepted as authentication type SSL DEBUG ACTIVE
- %SYSTEM-F-ACCVIO, access violation, reason mask=04, virtual
- address=FFFFFFFF8001A120, PC=000000000068B118, PS=0000001B
- Note: The Unix version received the second 220 response, the VMS
- version did not. That's odd, it's the same code... 25 Jan 2010. ====
- Added some essential details to the HELP FSEEK text. ckuus2.c, 25 Jan
- 2010. ====
- Discovered that the result returned by \fsearch() is totally
- unreliable. This is probably too hard to fix. ====
- FSEEK did not pay attention to SET CASE, searches were always case
- sensitive. Fixed in ckuus7.c, 26 Jan 2010. ====
- FSEEK failed to find anything if the search pattern was matched in the
- first line of the file. Fixed in ckuus7.c, 26 Jan 2010. ====
- \fword() and \fsplit().... Another change, but not
- backwards-incompatible. One may now put the word ALL (just like that,
- all uppercase) as the include set (4th argument) to indicate that there
- will be no break characters other than those explicitly given in the
- break set, e.g. \fsplit(\m(xx),&a,:,ALL) breaks a line only on a colon
- (:), nothing else. The original rules for cksplit() were more than a
- little counterintuitive: the default break set is all non alphanums,
- and the default include set is all alphanums, so if you wanted to parse
- (say) a CSV file, breaking only on comma, you had to think of all the
- characters you wanted to keep. This way you just say ALL. ckclib.c, 26
- Jan 2010. ====
- Speaking of CSV files... How can you put comma as a function argument
- when comma is the function-argument separator? Use one of these forms:
- \fsplit(\m(xx),&a,",",ALL)
- \fsplit(\m(xx),&a,{,},ALL)
- \fsplit(\m(xx),&a,\44,ALL)
- \fsplit(\m(xx),&a,\fchar(44),ALL)
- From John Dunlap, U. of Washington Applied Physics Lab: 'When "stty -a
- < /dev/ttyS0 | grep crtscts" shows "crtscts" (not "-crtscts") and when
- using a three wire serial interface and when asking kermit to not use
- flow control (set flow none) then "ckutio.c1" (see attachments) fails
- while "ckutio.c" works. The result of "diff -u ckutio.c1 ckutio.c" is
- attached as "diffs"'. ckutio.c, 26 Jan 2010. ====
- Changed the year from 2009 to 2010 in the modules I worked on today and
- in the heralds, etc. ckckmai.c, ckuus5.c, ckutio.c, ckclib.c, ckuus7.c,
- 26 Jan 2010. ====
- Built on Linux Fedora Core 3, regular and with OpenSSL 0.9.7a. Built on
- Ubuntu 9.4 OK, but SSL and Kerberos builds failed due to not finding
- libs and/or header files. I'm sure this could be fixed... 27 Jan 2010.
- ====
- Added SSL, KRB4, and KRB5 to the startup herald for versions that were
- built with SSL, Kerberos 4, or Kerberos 5. Built OK on Fedora 3 with
- linux+krb5+ssl and new banner shows correctly. ckuus5.c, 27 Jan 2010.
- ====
- Set NO_KRB5_INIT_ETS by default in ckuath.h since krb5_init_ets() is a
- no-op in Kerberos 1.4.x and later and in some installations it can't be
- found, which clobbers the build. ckuath.h, 27 Jan 2010. ====
- Adapted to MINIX 3 1.5, the first version that has virtual memory
- according to Andy T, who should know. On earlier versions (e.g. MINIX 3
- 1.2) any attempt to build C-Kermit causes the compiler to crash. Now
- the compiler doesn't crash but it spews out countless warnings about
- old-fashioned function declarations that I don't get anywhere else. The
- real problems came in ckutio.c where numerous symbols were undefined at
- compile time and the POSIX function tcgetpgrp() was not found at link
- time, even though there is a prototype for it in the MINIX header
- files, and there is no alternative (since POSIX doesn't let us use
- ioctl()). Also note that there is some confusion over the compile-time
- symbols MINIX, MINIX2, MINIX3, and MINIX315. You would expect MINIX to
- mean "any version of MINIX" but in some parts of ckutio.c it means
- MINIX 1.0. I sincerely doubt that C-Kermit 9.0 can be built on any
- version of Minix before 3.1.5 so I removed the confusion and made MINIX
- mean "any Minix". It builds on 3.1.5 OK now, except for the FTP client.
- This can probably be fixed but... Modules changed: ckcdeb.h, ckuver.h,
- ckcmai.c, ckuus5.c, ckutio.c, 1 Feb 2010. ====
- Later.. Andy says MINIX does not support job control, so no program is
- ever in the background. That settles that! 1 Feb 2010. ====
- Built OK on Minix, Linux, Mac OS X, Solaris 9, NetBSD 5.0.1... 1 Feb
- 2010. ====
- ---C-Kermit 9.0 Alpha.02--- ====
- From Christian Corti at Uni-Stuttgart.de: fixes to allow building on
- SunOS 4.1, which once was my main development platform but which is
- long-gone from here. ckupty.c, ckutio.c, 9 Feb 2010. (He says it is
- also necessary to comment out the "struct winsize" and "struct ttysize"
- in sys/ioctl.h; otherwise there will be a conflict with sys/ttycom.h
- (included by termios.h) which also declares these structs. But you need
- both includes.') ====
- From John Dunlap, a fix for Kermit protocol fixed packet-timeout
- interval going to a unexpected value (missing else clause in two
- places). ckcfn2.c, 9 Feb 2010. ====
- Added an aixg target to build on AIX with gcc when gcc is not installed
- as cc, and also added CC=$(CC) CC2=$(CC) clauses to the aix and aix+ssl
- targets. Wow, AIX really loses bigtime when receiving files through its
- ssh server. Streaming can't be used, sliding windows recover from
- errors but there are tons of them using the default 4K packets; 500
- works much better. Built with IBM cc and gcc, and also tested
- (successfully) the new aix+ibmssl target, in which the OpenSSL headers
- and libs are in a standard place. makefile, 9 Feb 2010. ====
- In ckupty.h, make the #include <sys/ioctl.h> be #ifndef SUNOS41. From
- Christian Corti. 10 Feb 2010. ====
- Built on VMS E8.4. 12 Feb 2010. ====
- Tried to build on a real VAX-11/785 but the machine seems to be
- seriously wedged. 12-15 Feb 2010. ====
- Added note to CKVKER.COM to the effect the the 'f' option has no effect
- on VAX architecture. 15 Feb 2010. ====
- Moved the #include "ckvrtl.h" in the FTP module to below the include
- for utime.h, because building the VMS version with the 'i' option
- (meaning "include internal ftp client") results in "struct utimbuf tp"
- erroring out because struct utimbuf is not defined yet (at least in
- some version of VMS with some version of C). From Rob Brown, ckcftp.c,
- 20 Feb 2010. ====
- From Martin Vorlaender: new code in VMS C-Kermit build procedure to
- detect OpenSSL version automatically. ckvker.com, 22 Feb 2010. ====
- Added code to INPUT command to strip ANSI escape sequences. It's
- activated by SET SESSION-LOG TEXT. ckuusr.h: added prototype for
- chkaes(); ckucon.c, ckucns.c: made inesc[] and oldesc[] global instead
- of static; ckuus4.c: doinput() code for skipping escape sequences. 1
- Mar 2010. ====
- Peter Eichhorn complained that if you make an ssh connection with
- Kermit, then log out from the ssh host, and then use a "connect"
- command to make a new connection to the same host (which you can do
- with Telnet), Kermit says (e.g.):
- DNS Lookup... Can't get address for ssh -e none somehostname
- Sorry, can't open ssh -e none somehostname: Error 0
- I added code to detect and handle this case and it seems to work OK,
- even though it's kind of a hack. ckuusr.[ch], ckuus7.c, 1 Mar 2010.
- ====
- There has never been a clean way to put debugging messages (ECHO
- commands) in a script which are executed only if debugging is desired
- and ignored otherwise. You'd have to set a random variable and test it,
- or define a macro or whatever. To make this more straightforward, I
- added SET DEBUG MESSAGE ON/OFF/STDERR, and added a new MESSAGE (syn:
- MSG) command for printing debugging messages to stdout if SET DEBUG
- MESSAGE is ON or to stderr if SET DEBUG MESSAGE is STDERR. ckcmai.c,
- ckuus[r23].c, 12 Mar 2010. ====
- Also for debugging and error messages, I added \v(lastcommmand) so that
- the command that failed can be included in an IF FAIL or DEBUG error
- message. This works even for commands that have syntax errors.
- ckuusr.h, ckuus5.c, ckucmd.c, 12 Mar 2010. ====
- From SMS for VMS: 'Added/documented P3 options INTSELECT, OLDFIB,
- OLDIP. Disabled (commented out) automatic definition of NOSETTIME for
- VMS before V7.2 (vms_ver .lts. "VMS_V72").' ckcdeb.h, ckcftp.c,
- ckcnet.c, ckuus[2567].c, ckvfio.c, ckvker.com, ckvrtl.[ch], 15 Mar
- 2010. ====
- Exposed inesc[] and oldesc[] for VMS, so new INPUT command
- escape-sequence stripping can work (really, chkaes() and related global
- variables should be moved out of ck[uvd]con.c/ckucns.c and into a
- common module; do that later). ckuusr.h, ckvcon.c, 15 Mar 2010. ====
- Built OK on Solaris9, Mac OS X 10.4.11, RHEL4 (32-bit), RHEL5 (64-bit),
- AIX 5.3, SCO OpenServr 6.0.0... 15 Mar 2010. ====
- Not so good on VMS, turns out I made a typo in one of the VMS updates
- (#ifndef OLDIP instead of #ifdef...). ckcnet.c, 16 Mar 2010. ====
- More from SMS for VMS, 16 Mar 2010:
- . Set MAXPATH correctly for VMS, ckcdeb.h.
- . NAM -> NAML, QIO replaces system( "SET PROTECTION"), bugfixes in
- cvtdir() and nzltor(), ... (See comments): ckvfio.c, new ckvrms.h.
- (The RMS code in ckvfio.c was almost totally rewritten)
- . Moved "NAMX$*" (and related) macros to ckvrms.h, and renamed to
- "NAMX_*" (and similar "$" -> "_"), moved "FIB_*" macros from ckvrtl.c.
- These changes are mainly to accommodate the ODS5 file system, which has
- longer and mixed-case filenames, and also to execute certain commands
- (e.g. for setting file protection, deleting directories) directly
- instead of using a system() command.
- Built OK on VMS 8.3 (with and without network support). 16 Mar 2010.
- Failed to build on VMS 6.2. 16 Mar 2010. ====
- FreeBSD 8.0 <libutil.h> has a hexdump() prototype that conflicts with
- the hexdump macro defined in ckcdeb.h. Since the same thing is likely
- to happen elsewhere, I changed the Kermit macro to ckhexdump as well
- all references to it: ckcdeb.h, ckcftp.c, ckcnet.c, ckctel.c, ckuath.c,
- ckutio.c, 16 Mar 2010. ====
- Built OK on Digital Unix Tru-64 4.0E using "make osf", 16 Mar 2010.
- ====
- Tried again to build Digital Unix Tru64 4.0E using "make tru64-40e",
- but something prevents it from picking up the termios symbols and it
- blows up in ckutio.c, whereas this used to work in earlier C-Kermit
- versions. This is the only Tru64 system I still have access to, so I
- can't tell if it's a local peculiarity or what. Note that POSIX is not
- defined for this build. But if I define it, I get into trouble with
- "struct timeval". Tried again with "KFLAGS=-DPOSIX -DNOTIMEVAL" but
- that doesn't help. Tried "make dec-osf" and that worked OK but oddly
- enough it makes a Kermit with less features than "make osf". 16 Mar
- 2010. ====
- To go with MESSAGE and SET DEBUG MESSAGE, I added IF DEBUG, which is
- true if SET DEBUG MESSAGE is not OFF and false otherwise. ckuusr.h,
- ckuus6.c, 16 Mar 2010. ====
- From SMS: Corrections to my merging of SMS's changes, ckcftp.c,
- ckvrtl.h. Builds OK on VMS 6.2 now. Also did an SSL build on VMS 8.3
- with OpenSSL m0.9.7e and "OPENSSL_DISABLE_OLD_DES_SUPPORT" was included
- in P3 automatically by Martin V's addition to ckvker.com. 17 Mar 2010.
- ====
- From SMS: #include <types.h> earlier for VMS in ckcdeb.h to pick up
- off_t before it is referenced. This allows C-Kermit to compile on
- VMS/Alpha 6.2 but linking fails on fseeko() and ftello() (and yet, a
- functional executable is created, and FSEEK works right). Builds the
- same way with no problems at all on VMS 8.3 / Alpha. In this case we
- get the full 64-bit arithmetic... Well, 62 bits:
- ATLAS::C-Kermit>( ^ 2 63)
- 9223372036854775000.0
- ATLAS::C-Kermit>( ^ 2 62)
- 4611686018427387904
- whereas on VMS 6.2 we get integers only up to (^ 2 30). 17 Mar 2010.
- ====
- Changed the VMS build procedure to enable large file support
- automatically for non-VAX and VMS 7.3 or greater. No reason not to
- include this feature. Changed the sense of the F option to DISABLE
- large file support in the unlikely case that C-Kermit is being built on
- a suitable platform but the C library is older than VMS73_ACRTL-V0200,
- in which case fseeko() and ftello() will come up missing at link time.
- ckvker.com, 18 Mar 2010. ====
- Changed VMS build procedure to include the FTP client in any network
- build by default. Changed the sense of the I option to exclude the FTP
- client, in case anybody would want to do that. ckvker.com, 18 Mar 2010.
- ====
- From SMS: updated dependencies in CKVKER.COM, fix the "don't reinclude
- me" clause in CKVRTL.H. 19 Mar 2010. ====
- Built OK on VMS 6.2 and 8.3 with and without networking. Large file
- support included automatically in VMS 8.3 FTP client included
- automatically in both network builds. 19 Mar 2010. ====
- Changed hexdump() to ckhexdump() in ck_crp.c, which I missed before. 19
- Mar 2010. ====
- ---C-Kermit 9.0 Alpha.03--- ====
- In HP-UX with the bundled-non ANSI compiler, we get warnings about
- functions such as endusershell(), which are declared void in the header
- files. But in non-ANSI builds we defind VOID to be int rather than
- void, so our prototypes are wrong. I checked that HP-UX 9, 10, and 11
- all have void datatype and changed the definition of VOID to void in
- those cases. ckcdeb.h, 29 Mar 2010. ====
- Fixed a typo in a debug() statement in cksplit() that was causing some
- warnings. ckclib.c, 29 Mar 2010. ====
- Ditto in tls_load_certs(). ck_ssl.c, 29 Mar 2010. ====
- "make hpux1000o+ssl" files with: /usr/ccs/bin/ld: Unsatisfied symbols:
- __umoddi3 (code)
- __udivdi3 (code)
- __eprintf (code)
- It appears that OpenSSL (0.9.7c in this case) requires -lgcc. And
- indeed hpux1000gcc+ssl builds fine. 29 Mar 2010. ====
- There are various warnings in the SSL code in ckutio.c, ckcftp.c, and
- ckcnet.c about pointers not being assignment compatible, but I have
- learned from experience not to try to fix these (see notes from 6 Oct
- 2009). 29 Mar 2010. ====
- connect(s, (struct sockaddr *)&hisctladdr, sizeof (hisctladdr)): In
- FTP, this doesn't work on RHEL5 / Mac OX X 6.1/2 64-bit. But the
- connect() in Telnet works. On Mac OS X 6.2 I tried changing the
- socket() call to be like the one in ckcnet.c for Telnet, but it made no
- difference. On a RHEL5.4 system on i386, FTP works fine, so it's not
- the Red Hat version. On Digital Unix 4.0E 64-bit, same thing: ====
- 11:23:10.722 ftp_hookup[kermit.columbia.edu]=21
- 11:23:10.722 ftp hookup A[kermit.columbia.edu]
- 11:23:10.722 ftp hookup C[kermit.columbia.edu]
- 11:23:10.722 ftp hookup socket=4
- 11:23:10.722 ftp hookup HADDRLIST
- 11:23:10.723 ftp hookup connect failed=13
- 11:23:10.723 ftp hookup bad
- 13 = Permission denied:
- [EACCESS] Search permission is denied for a component of the path prefix;
- or write access to the named socket is denied.
- On Gentoo Linux, also on Alpha, the errno is 51: Network is
- unreachable. Clearly some data type in the sockets structs is out of
- whack.
- The third connect() argument is "address length". The address is a
- struct sockaddr. About the third argument, RHEL5 "man connect" says:
- The third argument of connect() is in reality an int (and this is what
- 4.x BSD and libc4 and libc5 have). Some POSIX confusion resulted in
- the present socklen_t, also used by glibc. See also accept(2).
- Building on RHEL5 on x86_64, where size_t is 8 and socklen_t is 4, I
- get a warning:
- ckcftp.c: In function 'ftp_hookup':
- ckcftp.c:14667: warning:
- comparison is always true due to limited range of data
- Referring to:
- if (hisctladdr.sin_addr.s_addr != (unsigned long) -1)
- This seems to be the problem; if I remove the (unsigned long) cast (in
- two places), the problem goes away. Actually what I should be comparing
- it with is INADDR_NONE, which is defined appropriately in some header
- file, e.g. as 0xffffffff. Also I define it explicitly as -1 if it is
- not defined in any header file (as is the case in Solaris 9). Tested OK
- on 64-bit RHEL5, 32-bit RHEL5, Digital Unix 4.0E 64-bit, Solaris 9
- 32-bit, Mac OS X 10.4.11 32-bit, Mac OS X 10.6.3 64-bit, AIX 5.3,
- Gentoo Linux 2.6.31 on Alpha 64-bit, NetBSD 5.0.1 32-bit.... ckcftp.c,
- 29 Mar 2010. ====
- ---C-Kermit 9.0 Alpha.04--- ====
- Yesterday's VOID redefinition caused problems for HP-UX in ckuusx.c, in
- the curses section where VOID is undef'd and not used to avoid a
- conflict with curses.h. As a workaround I defined a new macro CKVOID
- with the same definition as VOID and used it in the offending section
- of ckuusx. The real solution is to replace all references to VOID with
- CKVOID (since VOID is increasingly likely to cause conflicts), but a
- mass search and replace is not without risks. ckcdeb.h, ckuusx.c, 30
- Mar 2010. ====
- Changed VOID and CKVOID definition to be 'void' for all HP-UX (verified
- by PeterE back to HP-UX 6.5, 1989). Still need to check this on HP-UX
- 5.21; if that's an exception it can be done in the makefile. ckcdeb.h,
- 30 Mar 2010. ====
- The change I made to allow CONNECT to reestablish a previous SSH
- connection prevented a new SSH connection to a different host to be
- made. Fixed in ckuus7.c, 30 Mar 2010. ====
- Fixed mistaken extern declarations of krb4_errno and krb5_errno as
- strings in nvlook(); they are ints. Built OK on Mac OS X 10.6.3.
- ckuus4.c, 30 Mar 2010. ====
- A fix to Trusted HP-UX makefile target from PeterE, to account for the
- equivalence of +openssl and +ssl as target suffixes. 30 Mar 2010. ====
- Added a new function \fcvtcsets(string,cset1,cset1) that converts a
- string from one character set to another. The csets are File
- Character-Set names. ckuus4.c, 31 Mar 2010. ====
- Added a new function \fdecodehex(string,prefix) that decodes a string
- containing prefixed hex bytes. Default prefix is %%, but any prefix of
- one of two chars (such as % or 0x) can be specified. ckuusr.h,
- ckclib.h, ckclib.c, ckuusr.c, 31 Mar 2010. ====
- Richard Nolde reports that Kermit can't find -lpam on Fedora 12 because
- it's in /lib rather than /usr/lib. RHEL5 has symlinks, FC12 should too.
- Added a note to the makefile. 1 Apr 2010. ====
- Build on Solaris 11 for the first time. Had to adjust ckuver.h to get
- the version herald right. This was on a box that reported its
- architecture as i86pc. 1 Apr 2010. ====
- Added MIME character-set names as invisible synonyms in the file and
- terminal character-set tables, fcstab[] and tcstab[]. Note that not all
- the character sets known to Kermit are registered in MIME. But at least
- now MIME-registered character sets can be referred to by their MIME
- names, e.g. ISO-8859-1, ISO646-ES, IBM437, WINDOWS-1252. These are not
- listed if you type ? in a field that is parsing them, unless you type a
- letter first, e.g. "i?" lists ISO- and IBM set names. Later maybe I'll
- make parallel tables, or keyword attribute bit that says whether a name
- is MIME or not. The real benefit of this change is that now Kermit can
- take its character-set names from external sources like email headers
- or web logs. ckuxla.c, 1 Apr 2010. ====
- Changed the IF command to accept a bare macro name its condition. This
- will parse and execute correctly if the macro is defined and if it has
- a numeric value, or if it is not defined, in which case it evaluates to
- 0 (FALSE). If it is defined but has a non-numeric value, a parse error
- occurs. ckuus6.c, 2 Apr 2010. ====
- Added \fstringtype() function. Given a string argument, it tells
- whether the string is 7bit, 8bit, utf8, binary, etc. ckuusr.h,
- ckuus[4x].c, 2 Apr 2010. ====
- Did a few builds to make sure there were no booboos. Solaris 9, NetBSD
- 5.01, Linux RHEL4, HP-UX 10.20 (non-ANSI compiler and ANSI optimizing
- compiler), Mac OS X 10.4.11, SCO OSR 6.00. 5 Apr 2010. ====
- ---C-Kermit 9.0 Alpha.05--- ====
- Increased maximum variable name length from 4K to 16K. Verified that
- too-long names are caught and recovered from correctly. ckuusr.h, 6 Apr
- 2010. ====
- Implemented a new \fsplit() option for parsing CSV files, which turns
- out to be a little complicated, because the separator is not just a
- comma, but a comma and all its surrounding spaces. Also there are
- special quoting rules for fields with embedded commas and fields with
- embedded quotes. ckclib.c, 7 Apr 2010. ====
- ---C-Kermit 9.0 Alpha.06--- ====
- VMS changes from SMS. They build OK, Kermit file transfers are still
- OK, but FTP text-mode GETs always hang on the 10th 8K network read.
- Couldn't get a debug log this time. ckcmai.c, ckvfio.c, ckvrms.h,
- ckvker.com. 8 Apr 2010. ====
- Changing VNAML from 4K to 16K broke the build on HP-UX 9. Put it back
- to 4K. 9 Apr 2010. ====
- John Dunlap, running days-long stress tests between E-Kermit and
- C-Kermit, found a bug in the packet-reading and -decoding code: If a
- NAK packet arrives with its length field corrupted to indicate a bigger
- size, and there are enough bytes following in the pipeline, ttinl()
- will return a too-long packet (if there are not enough bytes waiting to
- be read, then ttinl() will properly time out). In the bad case rpack()
- trusts the packet length, uses it as the basis for computation of the
- block-check length, which is then used to access memory that might not
- be there, causing (at least on John's Linux system) a segmentation
- fault. John added the normal clause to check the result of the
- block-check calculation, and I changed ttinl() to always break on the
- eol character (normally carriage return), since this can never appear
- in a packet, even if we "set control unprefix all". Also added a check
- to ttinl() to protect against length fields corrupted into illegal
- values. ckcfn2.c, ckutio.c, 13 Apr 2010. ====
- From Lewis McCarthy:
- Based on code inspection, C-Kermit appears to have an SSL-related security
- vulnerability analogous to that identified as CVE-2009-3767 (see e.g.
- [9]http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3767).
- I'm attaching a patch for this issue relative to the revision of ck_ssl.c
- obtained from a copy of [10]http://www.columbia.edu/kermit/ftp/test/tar/x.zip
- downloaded on 2010/07/30, which I believe is the latest.
- When this flaw was first widely publicized at last year's Black Hat
- conference, it was claimed that some public certificate authorities had
- indeed issued certificates that could be used to exploit this class of
- vulnerability. As far as I know they have not revealed specifically which
- public CA(s) had been found issuing such certificates.
- Some references: [11]http://www.mseclab.com/?p=180
- [12]http://www.theregister.co.uk/2009/07/30/universal_ssl_certificate/
- Patches added to ck_ssl.c, 4 Aug 2010. ====
- Peter Eichhorn reported that "RENAME ../x ." didn't work. This is a
- side effect of the changes of 2006 to the RENAME command, there was a
- little confusion in the renameone() routine; fixed in ckuus6.c, 4 Aug
- 2010. ====
- If only one file is FOPEN'd, FCLOSE given with no arguments would close
- it. Turns out to be a bad idea. Example: program with an input and
- output file, try to close the output file before it is opened by just
- typing FCLOSE; this can mess up the input file. For safety FCLOSE has
- to require a channel number or ALL. ckuus7.c, 4 Aug 2010. ====
- Added \fstrcmp(s1,s2,case,start,length), which has the advantage over
- IF EQU,LGT,LLT that case sensitivity can be specified as a function
- arg, and also substrings can be specified. ckuusr.h, ckuus[24].c, 5 Aug
- 2010. ====
- The CSV feature of Alpha.06 had a subtle flaw, namely that if the last
- item in a comma separated list was enclosed within doublequotes with a
- trailing space after the closing doublequote, a spurious empty final
- element would be created in the result array. Fixed in cksplit(),
- ckclib.c, 5 Aug 2010. ====
- ---Alpha.07--- ====
- The CSV feature of \fsplit() splits a comma-separated list into an
- array. To turn the array back into a comma separated list,
- \fjoin(&a,\44,1) almost works, except for elements contain literal
- doublequotes, such as:
- Mohammad "The Greatest" Ali
- This calls for making a symbolic CSV argument for \fjoin() like the one
- that was made for \fsplit(): \fjoin(&a,CSV). Also \fjoin(&a,TSV) for
- Tab-separated list. Thus if Kermit reads a record in CSV format, splits
- it into an array, and then joins the array back into a CSV record, the
- result will be equivalent to the original, according to the CSV
- definition. It might not be identical, because if the result had
- extraneous spaces before or after the separating commas, these are
- discarded, but that does not affect the elements themselves.
- Furthermore it is now possible to convert a comma-separated list into a
- tab-separated list, and vice versa (which is not a simple matter of
- changing commas to tabs or vice versa). ckuus4.c, 12 Aug 2010. ====
- From Joop Boonen 26 Juli 2010: "Added HAVE_LOCKDEV as openSuSE >= 11.3
- uses lockdev but not baudboy. They use ttylock directly. The program
- code has been added so the the program works without a problem."
- makefile, ckcdeb.h, ckutio.c, ckuus5.c, 23 Aug 2010. ====
- ---Alpha.08--- ====
- From Gary Mills at the U of Manitoba: convert Solaris version from BSD
- ptys to streams ptys because there are only 48 BSD-style ptys and he
- was running out. No code changes needed, the only change necessary was
- to add the following flags to the makefile target:
- -DHAVE_STREAMS -DHAVE_GRANTPT -DHAVE_PTSNAME
- -DPUSH_PTEM -DPUSH_LDTERM -DPUSH_TTCOMPAT
- makefile, ckcmai.c, 21 Sep 2010. ====
- Testing this in Solaris 9 I see that the DES library disappeared. Added
- code to the solaris9 targets (also used by Solaris 10 and 11) to check
- for this. makefile, 21 Sep 2010. ====
- The Solaris target checked the OpenSSL version automatically to set the
- right flag, the Linux target didn't. Put the OpenSSL-version testing
- code in the Linux target too. makefile, 21 Sep 2010. ====
- A couple minor changes to the tru64-51b makefile targets from Steven
- Schweda but there still are some problems with the Tru64 Unix builds.
- makefile, 21 Sep 2010. ====
- ---Alpha.09--- ====
- \fcontents(\&a[3]) got an error if the array was declared but its
- dimension was less than 3, which is bad when dealing with (say) an
- array created dynamically by \fsplit(), which might or might not have a
- third element. In case it doesn't -- i.e. in case we are referring to
- an out of range element of any array that is declared -- we should just
- return a null string, as we do with other types of variables that are
- not defined. For that matter, ditto even if the array is not declared;
- what useful purpose is served by throwing an error in this case?
- ckuus4.c, 30 Dec 2010. ====
- cksplit() treats \ as a quoting character. If the source string
- contains backslashes, they are swallowed (or, if doubled, one is kept).
- That's not good for parsing external data, such as lines read from
- files, where there are no quoting rules. This came up when parsing CSV
- files; as a workaround, I made \fsplit() treat backslash as an ordinary
- character for CSV and TSV splitting (a better solution might be yet
- another argument that specifies a quote character). ckclib.c, 30 Dec
- 2010. ====
- Began converting C-Kermit to Open Source with the Simplified 3-Clause
- BSD license. Updated the text for the INTRO, LICENSE, NEWS, and SUPPORT
- commands. Fixed things so the copyright year to be displayed is defined
- in one place (ck_cryear in ckcmai.c), rather than hardwired into text
- strings all over the place. COPYING.TXT, ckcmai.c, ckuus[256].c, 2 Jun
- 2011. ====
- When I added MIME synonyms for Kermit character-set names, I left a
- bogus entry in the tables ("windows-1251") that was in the wrong place
- alphabetically, thus preventing most references to file character-set
- names from working right. Removed the bogus entry. ckuxla.c, 2 Jun
- 2011. ====
- Most combinations work OK, but not translating Cyrillic text from UTF-8
- to Latin/Cyrillic, and probably the same would be true for any case of
- converting from UTF-8 or UCS-2 to anything else. The problem was in
- xgnbyte(), which converts the input stream from the specified character
- to UCS2; it needed to make a special case for when the input file was
- already Unicode. Believe it or not, this problem occurred at least as
- far back as 8.0.201 (9.5 years ago) and nobody noticed. So if the fix
- isn't perfect probably nobody will notice that either. ckcfns.c, 3 Jun
- 2011. ====
- The SET BLOCK CHECK command did not parse all the items in its keyword
- list. Fixed in ckuus3.c, 3 Jun 2011. ====
- For EM-APEX ocean floats project, where buoys in stormy waters have to
- transmit data through an earth satellite using non-error-correcting
- modems, John Dunlap ran exhaustive stress tests of Kermit protocol
- transfers through a simulated connection that injected errors and
- delays and identified a weakness in Kermit protocol when it is used
- under extremely bad conditions: If a data byte of the S packet (or its
- Ack) is corrupted and the 1-byte checksum is also corrupted in such a
- way that that the checksum matches the corrupted data, the two Kermit
- programs will disagree as to the negotiated parameters. For example, if
- file Sender's RPT field is changed from '~' to '^', the receiver will
- decode the packet incorrectly. Ditto for most of the other parameters.
- The result is that a corrupted file is received but reported correct.
- John suggested a new mode of operation in which the Type 3 block check
- is used for all packets. Such a mode can not be negotiated because the
- negotiation packet itself is assumed by all Kermit programs to have a
- 1-byte checksum. Added SET BLOCK-CHECK 5 to the parser (with invisible
- synonym FORCE-3". ckuus3.c, 3 Jun 2011. ====
- Added supporting code for SET BLOCK 5: ckcfn[23].c, ckcpro.w, ckcmai.c,
- ckuus3.c, 3 Jun 2011. ====
- Added code to skip the heuristic that S and I packets always have block
- check type 1. File transfer OK between two C-Kermits with SET BLOCK 5.
- rpack(): ckcfn2.c, 5 Jun 2011. ====
- Made the file receiver put "5" in the block-check-type in its ACK to
- the S-Packet. spar(): ckcfns.c, 5 Jun 2011. ====
- Now the question is: Can we make the file receiver automatically and
- safely recognize a three-byte block check on an incoming S or I packet?
- It's tricky because the block check field is not self-identified, it's
- just the last "n" characters of string indicated by the length field,
- so correct decoding of the packet depends on stateful knowledge of "n".
- How about this: rpack() already knows what type of packet it is, so if
- it's an S or I packet and the 8th byte of the data field is "5" and
- last 3 bytes, when interpreted as the CRC, match the packet contents,
- then we accept the packet and switch to BLOCK 5 mode.
- On the other hand, if the "5" was put there by corruption, the CRC
- should catch the error. In that case we NAK the packet and presumably
- get a different version back. There would be no reason to try to
- re-read the same packet with a different block check, because the "5"
- could not possibly be there legitimately unless it had a 3-byte CRC. To
- be clear, this is cheating. We read the packet contents before we know
- the packet is correct, then we check that it *is* correct. I made the
- 4-line change to rpack() and it works OK in the absence of transmission
- errors. ckcfn2.c, 3 Jun 2011. ====
- So the various combinations should work as desired:
- . Sender and receiver both support and are told to SET BLOCK 5 ("SB5").
- . Sender SB5, but receiver doesn't support it (errors out).
- . Sender SB5, receiver supports it but wasn't told (auto-recognizes it).
- . Receiver SB5 but sender no (errors out).
- Note in the last case, the receiver should NOT automatically fall back
- to standard behavior because if the user said SET BLOCK 5 that means
- every packet MUST be protected by CRC to prevent the I/S packets from
- being corrupted.
- Installed new HELP SET BLOCK-CHECK text. ckuus2.c, 5 Jun 2011. ====
- Autodownload didn't work when the S or I packet had a 3-byte block
- check because kstart() checked it for a 1-byte checksum. Fixed in
- kstart(), ckcfn2.c, 6 Jun 2011. However, older Kermit versions and
- programs that claim to do "autodownload" will never recognize this type
- of packet. No big deal since even if they did, the transfer would fail
- anyway.
- Added 'FORCE 3' to E-Kermit, called it EK 1.7. The option is "-b 5".
- Works OK for sending and receiving, both with and without the new
- option. Also works with "-b 5" if you send an S packet to it with '5'
- in the BCT field. Changes were minimal, I have them all in ek17.diff.
- I could probably also make a new G-Kermit in about 10 minutes, but who
- cares about G-Kermit... We already have two useful Kermit programs that
- interoperate with the new protocol. 6 Jun 2011. ====
- Replaced the very inadequate help texts for functions \fword() and
- \fsplit() with new ones. ckuus2.c, 6 Jun 2011. ====
- There were a couple reports of file corruption that I was saving for
- later. Now that now is later I dug up the messages, files, and logs and
- it turns out that nobody had reported a reproducible case of Kermit
- corrupting a file. There have been non-reproducible cases though,
- almost certainly due to corruption of the S or I packet or its ACK,
- which is why we now have SET BLOCK 5. Even with BLOCK CHECK 5, there is
- no guarantee that the same thing won't happen, it is just far less
- likely. Even if we added a 32-bit CRC or even 64-bit one, there would
- still be a small chance it could happen. ====
- 7 Jun 2011:
- Corrected various #ifdefs (or lack of them) when building C-Kermit with
- different combinations of feature-selection options such as NOCSETS,
- NOICP, NOLOCAL, NOSPL, NOUNICODE, etc. ckcfns.c ckcmai.c ckcxla.h
- ckuus2.c ckuus4.c ckuus5.c ckuus6.c ckuusr.c, 7 Jun 2011. After running
- the script that does all these builds (84 of them) I ran it again to
- make sure that none of the changes broke builds that succeeded before
- the changes were made.
- Built OK on Solaris9 ("make solaris9") Ditto with Krb5 and OpenSSL
- 0.9.8q ("make solaris9g+openssl+shadow+pam+zlib")
- Built OK on Mac OS X 10.4.11 ("make macosx"). Also "make
- macosx+krb5+openssl.
- Built OK on Linux RHEL4 ("make linux"). Built OK on Linux RHEL4 with
- OpenSSL 0.9.7a ("make linux+ssl"). Built OK on Linux RHEL5 ("make
- linux").
- "make linux+ssl" fails on RHEL5 because of DES, even though the target
- tests for the presence or absence of the DES libraries. In this case
- the libraries are there but they lack the functions des_ecb3_encrypt,
- des_random_seed, and des_set_odd_parity. The build succeeds as:
- make linux+ssl KFLAGS=-UCK_SSL
- Since DES is now considered harmful, Jeff Altman suggests that all
- OpenSSL builds, even for old versions, should omit it ("If you are
- building with openssl and no kerberos or srp, just disable DES.
- Disabling DES will impact telnet and rlogin but it won't matter if you
- have no ability to negotiate a session key").
- From Ian Beckwith, patches for Debian Linux:
- . Change all '-' to '\(hy' in man page (new pedantry): ckuker.nr.
- . Make IKSD authentication (using PAM) ask for a password when an invalid
- username has been given, to avoid disclosing which account names are valid:
- ckufio.c, ckuus7.c.
- . Fix spelling errors: ckcftp.c, ckuus2.c, ckuker.nr, ckcpro.w, ckuusr.h.
- . Patch makefile to support install to a staging area with DESTDIR.
- . Some other patches (mainly for typos) were for plain-text documentation
- files that were generated from Web pages; I updated the web pages.
- A big corporate C-Kermit user has an application where a local C-Kermit
- makes a connection to a remote one, uploads some files, and then if the
- server has any new patch files for the local, it sends the patches and
- does a REMOTE HOST command to run the patch program. This stopped
- working in C-Kermit 6.0 or 7.0 when I put a check to prevent it,
- because "it makes no sense to send REMOTE commands to the local end,
- because the results are sent back to the remote to be displayed on its
- screen but it has no screen". That may be true, but if the user needs
- to control the local from the remote, they should be able to. I removed
- the checks. This doesn't solve the problem of where the output goes;
- ideally it would go to the local screen but I don't see any elegant and
- simple way to make that change. However the output redirectors can
- still be used with the REMOTE command so the results can be captured to
- a remote file, which could then be sent. ckuus7.c, 7 Jun 2011. ====
- Changed SET VARIABLE-EVALUATION to SET COMMAND VARIABLE-EVALUATION, but
- left the former version available. ckuusr.c, 9 Jun 2011. ====
- Documented the SET COMMAND VARIABLE-EVALUATION command, which I added
- in 2008. ck90.html, 9 Jun 2011. ====
- Renamed all old Mac OS X makefile targets to have the prefix "old" to
- avoid confusing them with the current targets, and made macosx10 a
- synonym for macosx, so those who used previous makefiles will get a
- current target without having to know the new name. makefile, 9 Jun
- 2011. ====
- Added XMESSAGE, which is to MESSAGE as XECHO is ECHO: prints the text
- without a line terminator, so it can be continued by subsequent
- [X]MESSAGE commands. ckuusr.[ch], 9 Jun 2011. ====
- Back to "make linux+ssl" on RHEL5... I took the coward's way out and
- added code to the makefile target to check whether the build worked
- (somebody let me know if there is a better way to check), and if not to
- give a message suggesting they "make clean ; make linux+ssl
- KFLAGS=-UCK_DES". makefile, 9 Jun 2011. ====
- Noticed that \frecurse() would dump core if called with no arguments.
- Fixed in ckuus4.c, 9 Jun 2011. ====
- Added \q() as an alternative to the more verbose \fliteral() for
- quoting strings that contain characters (like \) that would otherwise
- be significant to Kermit. It's more efficient because it isn't a
- function call, and 'q' is an intuitive letter to mean 'quote'. It also
- works better than \fliteral() because functions treat commas and braces
- specially. ckuus4.c, 10 Jun 2011. ====
- Built OK on VMS 8.3 on Alpha, no net. DEC C caught a couple glitches in
- the new code that gcc didn't catch, which I fixed. ckuus[25].c, 10 Jun
- 2011. ====
- Built OK on VMS 8.3 on Alpha with Multinet 5.3. The SSL build failed
- but I'm not going to worry about it. 10 Jun 2011. ====
- Built OK on NetBSD 5.1. 10 Jun 2011.
- Tried to resurrect my old "build-all" machine, an IBM Netfinity 3500
- from 1997 with 20-some mountable bootable hard disks with lots of 1990s
- OS's on them. No dice. I can see the BIOS but not the hard disks. The
- configuration is still correct because it tries to boot from the
- mountable hard disk, but it fails (I tried six different ones).
- Tried to resurrect my old Siemens Nixdorf RM 200 MIPS machine. Booted
- OK, headless even, but makes a hellish high-pitched whine, like a
- dentist drill. It's pretty slow too. "make sinix542" (for SINIX 5.4.2)
- bombed at link time on no rdchk(). Fixed by #including <sys/filio.h>.
- ckutio.c, 10 Jun 2011. ====
- Tried to resurrect my old SCO Xenix 2.3.4 machine, also headless.
- Amazingly it still works; it can't use a monitor but I can Telnet to
- it. Had to tweak some #ifdefs but I got a no-net version built
- successfully. According to my notes, it hasn't been possible to build
- with TCP/IP since C-Kermit 8.0, but how many people ever had SCO Xenix
- 2.3.4 with TCP/IP anyway? Anyway we still have the binaries for
- C-Kermit 7.0. ckuus4.c, 10 Jun 2011. ====
- Built OK on AIX 5.3. Built OK on Solaris 10. 11 Jun 2011. ====
- Tried harder to revive the build-all machine, now it sort of works, but
- not all of the bootable OS's work. Built C-Kermit 9.0 OK on OpenBSD
- 3.0. Built OK on QNX 4.25 but had to #ifdef references to IXANY in
- ckutio.c and ckupty. Built OK on NetBSD 1.5.1 (2000). Tried "make
- netbsd+ssl" on this one, it's OpenSSL 0.9.5a 1 Apr 2000, but it bombs
- out in ckuath.c, no big deal. Another problem in NetBSD 1.5.2 is that
- even though off_t is 8, CK_OFF_T is 4. Worth noting but not worth
- fixing unless someone else notices. 13 Jun 2011. ====
- SuSE 7.0... boots OK but telnet server doesn't work. Can telnet out but
- it's too flaky, connection drops if I try to transfer a file.
- OpenBSD 2.5 [1999] OK. Red Hat 7.1 OK. Red Hat 7.1 with OpenSSL 0.9.6
- not OK, same error as with 0.9.5a:
- ckuath.c In file included from ck_ssl.h:48,
- from ckuath.c:225:
- /usr/include/openssl/des.h:77: warning: redefinition of `Block'
- ckuat2.h:86: warning: `Block' previously declared here
- /usr/include/openssl/des.h:83: redefinition of `struct des_ks_struct'
- /usr/include/openssl/des.h:91: warning: redefinition of `Schedule'
- ckuat2.h:90: warning: `Schedule' previously declared here
- So it appears that OpenSSL support is broken for pre-0.9.7. Tried
- building it again with -UCK_SSL (since the errors are originating from
- from des.h)... But it still failed exactly the same way. I found
- #includes for des.h in ckuath.c and and ck_ssl.h and #ifdef'd them out,
- but it still fails:
- In file included from /usr/include/openssl/evp.h:89,
- from /usr/include/openssl/x509.h:67,
- from /usr/include/openssl/ssl.h:69,
- from ck_ssl.h:51,
- from ckuath.c:227:
- /usr/include/openssl/des.h:77: warning: redefinition of `Block'
- ckuat2.h:86: warning: `Block' previously declared here
- /usr/include/openssl/des.h:83: redefinition of `struct des_ks_struct'
- /usr/include/openssl/des.h:91: warning: redefinition of `Schedule'
- ckuat2.h:90: warning: `Schedule' previously declared here
- Built OK on Debian 2.1. 13 Jun 2011. ====
- On FreeBSD 4.4, it blows up with: ckufio.c: In function vpass':
- ckufio.c:8201: conflicting types for 'initgroups'
- /usr/include/unistd.h:154: previous declaration of 'initgroups'
- ckufio.c:8201: warning: extern declaration of 'initgroups' doesn't
- match global one. Fixed by defining NODCLINITGROUPS for FreeBSD in
- ckufio.c. It might not be the right fix, but I don't have a lot of
- other FreeBSD versions to compare with. Anyway now it builds OK on 4.4,
- and also on FreeBSD 3.3. ckufio.c, 13 Jun 2011. ====
- Tried to build on SCO Open Server 5.0.7 but it fails at link time
- because it can't find rdchk(). But it's supposed to be there! Come back
- to this later...
- Red Hat 6.1 i386 32/64 linux 2332545 Red Hat 7.1 i386 32/64 linux
- 2368528 Red Hat EL4 i386 32/74 linux 2363067 Red Hat EL5.6 i386 64
- linux 2371279 Solaris9 sparc 32/64 solaris9 2849896 Solaris9+ssl sparc
- 32/64 solaris9 5021764 Solaris10 sparc 32/64 solaris10 2855776 QNX i386
- 32 qnx32 2012323 NetBSD 1.5.1 i386 32/64 netbsd 2198055 NetBSD 5.1 i386
- 32/64 netbsd 2159863 OpenBSD 2.5 i386 32/64 openbsd 2236036 Mac OS X
- 10.6.7 x86_64 64 macosx 2.7M Mac OS X 10.4.11 ppc 32/64 macosx 2496304
- Debian 2.1 i386 32/64 linux 2213221 FreeBSD 4.4 i386 32/64 freebsd
- 2291333 FreeBSD 3.3 i386 32/64 freebsd 2147370 SINIX 5.42 mips 32
- sinix542 3319325 (1995) SCO Unixware 2.1.3 i386 32 uw213 2242176 SCO
- OSR6.0.0 i386 32/64 sco_osr600 2368300
- More builds, 14 June 2011:
- VMS 6.2 alpha 32 make mn 2556928 No TCP/IP VMS 6.2 alpha 32 make m
- 3112960 UCX 4.0 Solaris 11 i386 32/64 solaris11 2823860 Solaris 11 i386
- 32/64 solaris11+ssl 2993660 OpenSSL 0.9.8l NetBSD 5.1 i386 32/64
- netbsd+krb5 2307855 Kerberos 5 Linux Slackware 12.1.0 i386 32/65 linux
- 2175754 Linux Fedora 14 i386 32/64 linux 2256514 Linux Fedora 14 i386
- 32/64 linux+ssl ....... OpenSSL 1.0.0d Linux Fedora 14 i386 32/64
- linux+krb 2449614 (*)
- (*) make linux+krb5 "LIBS=$LIBS /lib/libk5crypto.so.3
- /lib/libcom_err.so.2"
- Noticed that netbsd+ssl build on NetBSD 5.1 said "NetBSD 1.5" in its
- banner. Fixed by replacing the old hardwired target with the new
- "subroutinized" target a'la linux+ssl and adapting it to NetBSD.
- makefile, 15 Jun 2011. ====
- Same deal for Kerberos 5, make a new netbsd+krb5 target and it builds
- ok, at least once one figures out where the Kerberos headers and libs
- are. makefile, 15 Jun 2011. ====
- Same deal for the netbsdnc target, now it simply defined NOCURSES and
- chains to the main netbsd target. makefile, 15 Jun 2011. ====
- Tried to build with Kerberos 5 on Solaris, fails because the DES
- library no longer exists. This one is beyond me, sorry. ====
- Made new targets for MirBSD, mirbsd and mirbsd+ssl, makefile 15 Jun
- 2011. ====
- In OpenSUSE 11.2 with OpenSSL 0.9.8r we bomb on undefined references
- from various DES library routines. Builds OK without DES. ====
- Various linux+krb5 builds fail because can't find -lgssapi_krb5 ====
- SSL builds with OpenSSL < 0.9.7 fail even though there is code to
- support the older SSL. ====
- Fixed some printf %ld vs int instances in the sizeofs section of SHOW
- FEATURES. ckuus5.c, 15 Jun 2011. ====
- Fixed the new linux+ssl target to actually use the SSLINC and SSLLIBS
- definitions, oops. makefile, 15 Jun 2011. ====
- 15 June 2011 builds (Beta.01):
- AIX 5.3 ppc 32/64 aix+ssl 3283846 OpenSSL 0.9.8m NetBSD 5.1 i386 32/64
- netbsd 2159863 NetBSD 5.1 i386 32/64 netbsd+ssl 2350274 OpenSSL
- 0.9.9-dev NetBSD 5.1 i386 32/64 netbsd+krb5 2349627 MIT Krb5 1.6.3
- FreeBSD 8.2 i386 32/64 freebsd 2298414 FreeBSD 8.2 i386 32/64
- freebsd+ssl 2448961 OpenSSL 0.9.8q OpenBSD 4.7 i386 32/64 openbsd
- 2266132 OpenBSD 4.7 i386 32/64 openbsd+ssl 2409263 OpenSSL 0.9.8k
- MirBSD 10 i386 32/64 mirbsd 2216601 MirBSD 10 i386 32/64 mirbsd+ssl
- 2358318 OpenSSL 0.9.8r OpenSuse 11.2 x86_64 64 linux 2348468 OpenSuse
- 11.2 x86_64 64 linux+ssl (*) 2546540 OpenSSL 0.9.8r RHEL 5.6 ia64 64
- linux 4390687 RHEL 5.6 ia64 64 linux+ssl (*) 4775007 OpenSSL 0.9.8e
- Ubuntu 9.10 i386 32/64 linux 2275523 Ubuntu 9.10 i386 32/64 linux+ssl
- 2466708 OpenSSL 0.9.8r Gentoo 1.12.13 ppc 32/64 linux 2386597 Gentoo
- 1.12.13 ppc64 64 linux 2749015 Gentoo 1.12.13 ppc64 64 linux+ssl
- 3002150 OpenSSL 0.9.8r Gentoo 1.12.13 sparc 32/64 linux 2478382 Gentoo
- 1.12.13 sparc 32/64 linux+ssl 2690499 OpenSSL 0.9.8r Solaris 9 sparc
- 32/64 solaris9 2849896 Solaris 10 i386 32/64 solaris10 2837620 IRIX 6.5
- R10000 32/64 irix65 2869704
- * and KFLAGS=-UCK_DES
- Tried building on NetBSD 5.1 with Heimdal Kerberos using:
- make netbsd+krb5 \
- "KFLAGS=-DHEIMDAL" \
- "K5INC=-I/usr/include" \
- "K5LIB=-L/usr/lib"
- It found all its headers OK, but it blew up in ckuath.c. Small wonder,
- ckccfg.html says:
- HEIMDAL
- Should be defined if Kerberos V support is provided by HEIMDAL. Support
- for this option is not complete in C-Kermit 8.0. Anyone interested in
- working on this should contact kermit-support.
- KERBEROS VERSION:
- 'krb5-config --version' gives the MIT Kerberos 5 version number. ====
- Make a new netbsd+krb5+ssl target based on the combination of the new
- netbsd+ssl and netbsd+krb5 targets. There were lots of warnings in the
- compilation but no errors, but it produced an executable that starts
- and does normal things but I have no idea if the SSL or Kerberos
- functions work. makefile, 16 Jun 2011. ====
- Changed the cu-solaris9-krb5 target to test for the presence of DES
- because DES isn't there, to see if this would allow a Kerberos build to
- proceed. And it worked, amazing. At least the build completed, I have
- no way to test the Kerberos part. makefile, 16 Jun 2011. ====
- Updated the solaris9+ssl target to do the DES testing. makefile, 16 Jun
- 2011. ====
- Updated cu-solaris+krb5 target to test whether the GSSAPI library is
- called libgassapi or libgassapi_krb5. makefile, 16 Jun 2011. ====
- Added lots of tests to the Linux Kerberos 5 entries, linux+krb5 and
- linux+krb5+ssl, because some have libk5crypto and some don't; some have
- libcom_err and some don't; and some have libgssapi_krb5 (e.g. RHEL5,
- OpenSuse 11.2) whereas others have libgssapi (Gentoo). ====
- 16 June 2011 builds (Beta.01):
- NetBSD 5.1 i386 32/64 netbsd+krb5+ssl 2451757 OpenSSL 0.9.9 MIT Krb5
- 1.6.3 Solaris 9 sparc 32/64 solaris9+krb5 2543036 MIT Kerberos 5 1.7.1
- Solaris 9 sparc 32/64 solaris9+ssl 5021544 OpenSSL 0.9.8q (gcc)
- Gentoo... ppc 32/64 linux 2386597 Gentoo... ppc 32/64 linux+ssl 2593561
- OpenSSL 0.9.8r Gentoo... ppc64 64 linux 2749015 Gentoo... ppc64 64
- linux+ssl 3002150 OpenSSL 0.9.8r RHEL5 x86_64 64 linux+krb5 (*) 2563878
- MIT Kerberos 5 1.6.1 RHEL5 x86_64 64 linux+krb5+ssl(*) 2563878 MIT
- Kerberos 5 1.6.1 Fedora 14 i386 32/64 linux+krb5+ssl 2539891 MIT Krb5 +
- OpenSSL 0.9.8r
- * KFLAGS=-UCK_DES ====
- --- C-Kermit 9.0.299 Beta.01 --- ====
- sizeof() can return a long or an int, so neither
- printf("%d",sizeof(blah)); or printf("%ld",sizeof(blah)); can be used
- everywhere. Changed the "sizeofs" section of SHOW FEATURES in the
- dumbest (and therefore most portable) way to squelch the warnings.
- ckuus5.c, 17 Jun 2011. ====
- From John Dunlap: "Watching the server screen led me to offer a
- cosmetic patch for ckuusx.c. I noticed that the server screen said it
- was "RESENDING" when it really wasn't. The attached patch emits blanks
- to insure that old labels are completely erased." ckuusx.c, 17 Jun
- 2011. ====
- Nelson Beebe found two places where I had SSLLIBS in the makefile
- instead of SSLLIB. makefile, 18 Jun 2011. ====
- More important he knew how to force gcc to load the right header files
- for OpenSSL 1.0.0d (by using '-isystem' rather than '-I'). Previously
- it was using the 0.9.8r header files but linking with the 1.0.0d
- libraries. This is not in the sources or makefile; it's done when
- giving the 'make' command:
- export PATH=/usr/bin:$PATH
- export SSLINC=-isystem/usr/include
- export "SSLLIB=-L/usr/lib -Wl,-rpath,/usr/lib"
- make linux+ssl
- Folded the previous linux+openssl+zlib+shadow+pam and
- linux+openssl+shadow targets into linux+ssl. Checked the linuxso
- (scripting only) target, builds OK, 600K. Made new subroutinized
- linux+krb5+krb4 target but can't find anyplace to test it. Made new
- subroutinized linux+shadow+pam target, works fine on RHEL4. Revised
- comments and lists again. makefile, 18 Jun 2011. ====
- For the pluggable-disk OS's that boot OK but lack a working network, I
- rigged up a serial connection using a DB9-FF null modem cable, and then
- a DB9-MF modem cable to make it reach. I don't see any modem signals on
- either end, but the data goes through OK. COM1 on the desktop PC,
- /dev/ttyS1 or whatever on Lab. Since there are no modem signals, can't
- use RTS/CTS. At 57600bps with Xon/Xoff, 500-byte packets and sliding
- windows, transfers work OK at about 5000cps using 5 window slots; takes
- 8 minutes to transfer the gzipped C-Kermit tarball. Kermit to the
- rescue. 19 Jun 2011. ====
- Transferred the tarball over serial ports to SCO OSR5.0.5 at 38.4Kbps,
- the highest speed supported, 12 minutes, no errors, 3300cps. Unpack,
- make sco32v505udk, OK. Also built the TCP/IP version and it almost made
- an outbound connection, but only once (not a Kermit problem but
- something with the TCP/IP stack). 19 Jun 2011. ====
- Ditto for Solaris 2.6/i386, except 57.6Kbps, 4K-byte packets, no
- problem. Solaris 8/i386, ditto. 19 Jun 2011.
- SCO OpenServer 5.0.5 i386 32 sco32v505udk 1940964 No TCP/IP SCO
- OpenServer 5.0.5 i386 32 sco32v505udknet 2314668 With TCP/IP Sun
- Solaris 2.6 i386 32 solaris26g 4661368 Sun Solaris 8 i386 32 solaris8g
- 4675432 ====
- When using compact substring notation, \s(xx[4]) returns the whole
- string xx starting at position 4, but \s(xx[4:]) returns an empty
- string. Fixed the latter to be like the former. ckuus5.c, 20 Jun 2010.
- ====
- Really it would have been nicer if \s(xx[4]) returned a single
- character, the 4th character of xx, but it's too late now. Added
- another "separator" character '.' (period) for that: \s(xx[4.]) is the
- 4th character of xx. ckuus4.c, 20 Jun 2010.
- Back to SCO OSR5.0.7... This failed before because 'rdchk' came up
- unknown at link time, unlike all previous OSR5's, that used rdchk() in
- place of the FIONREAD ioctl. Added #ifdefs to make a special case for
- 5.0.7. I'm not sure this is the best way, but this is the minimal
- change to get it to work. If anybody cares, maybe the same can be done
- for previous OSR5 releases. ckutio.c, 20 Jun 2010 (search for
- SCO_OSR507).
- SCO OpenServer 5.0.7 i386 32 sco32v507 1895724 No TCP/IP SCO OpenServer
- 5.0.7 i386 32 sco32v507net 2246792 With TCP/IP ====
- Checked current code on RHEL4, found that my GSSAPI-lib finding
- makefile target didn't look in enough places; added some more.
- makefile, 21 Jun 2011. ====
- Got reports back on HPUX from Peter Eichhorn, almost all good on HP-UX
- 7, 8, 9, 10, and 11. 21-22 Jun 2011. ====
- Got access to Debian 5.0 and 7-to-be ("Wheezy/Sid"). Regular 'make
- linux' is OK in Debian 5, but in 7 can't find crypt, res_search, or
- dn_expand; had to add more library search clauses to 'make linux'.
- makefile, 21 Jun 2011. ====
- In Debian 7.0, libk5crypto could not be found without adding another
- clause to 'make linux+krb5'. That done, the SSL build (1.0.0d) was OK,
- as well as the krb5+ssl one. makefile, 21 Jun 2011. ====
- I found a Linux box that had both Kerberos 4 and 5 installed and tried
- 'make linux+krb5+krb4', which failed because of missing DES functions.
- Tried 'make linux+krb5+krb4 KFLAGS=-UCK_DES', but that fails too, even
- though it doesn't fail for Kerberos 5 alone, so probably some Krb4 code
- is making unguarded calls to the DES routines. What is really needed is
- a way to completely strip all DES references from any given build, code
- and makefile, a big deal. 21 Jun 2011. ====
- Fixed some typos in COPYING.TXT (noticed by Ian Beckwith). 24 Jun 2011.
- ====
- Got access to perhaps the last living 4.3BSD VAX system. It doesn't
- have SEEK_CUR so I had to #ifdef out the \fpicture() function. Aside
- from that, no problems. ckuus4.c, 24 Jun 2011. ====
- I had been wanting the S-Expression (ROUND x) to allow a second
- argument n, which, if given, tells where the rounding should occur. If
- n is positive, the number is rounded to n decimal places. If zero, it
- is rounded to the nearest integer If negative, the number is rounded to
- the nearest power of 10; e.g. -2 means "to the nearest hundred". If
- ROUND is used as before, with one argument, it works as before.
- ckclib.c, ckuus3.c, 25 Jun 2011. ====
- From Arthur Marsh, a few more directories to test for libresolv in
- Linux. makefile, 26 Jun 2011. ====
- From Martin Vorlaender, a fix for the VMS file-transfer display and
- statistics, a place where a file length wasn't being cast to CK_OFF_T
- in zchki(). ckvfio.c, 28 Jun 2011. ====
- Updated version to 9.0.300 and removed the Beta designation. ckcmai.c,
- makefile, 28 Jun 2011. ====
- Removed solaris9_64 target from makefile. It builds but it doesn't work
- at all. 30 Jun 2011. ====
- --- C-Kermit 9.0.300 --- ====
- On Solaris 10 and 11, DNS lookups don't work. It seems these Solaris
- versions have INADDRX and INADDRX_NONE defined, thus triggering the
- code in ckcnet.c, ckucns.c, and ckcftp.c #ifdef'd on these symbols, but
- that code doesn't work in this case. This happens building with gcc as
- well as with Sun cc. Put #ifdefs in ckcnet.h to undefine these symbols
- (if they are defined after including all the header files) for Solaris.
- I didn't bother trying to differentiate the Solaris versions because
- the symbols are not defined in Solaris 9 or earlier, and they should
- not be used in Solaris 10 or 11. ckcnet.h, 6 July 2011. ====
- From SMS: To avoid the %CC-W-PTRMISMATCH1 complaints from ck_ssl.c, add
- two (harmless) type casts at lines 2460 and 2773, 6 July 2011. ====
- Built and tested on Solaris 9, Solaris 10, and RHEL5. 6 July 2011. ====
- --- C-Kermit 9.0.301 Beta.01 --- ====
- Updated version text and date. ckcmai.c, makefile, 11 July 2011. ====
- --- C-Kermit 9.0.301 --- ====
- After the initial release I made some small changes that affect only
- HP-UX 5.x: added -DVOID=void and -DCKVOID=void to the hpux0500 makefile
- targets, and put #ifdefs around #include <errno.h>, which (in the
- WinTCP case) didn't protect itself against multiple inclusion (which is
- happening in other header files, not in Kermit). makefile, ckucmd.c,
- ckucon.c, ckutio.c, ckufio.c, ckcnet.c, ckcftp.c, 14 July 2011. ====
- In the new copyright notice, copied from the BSD license template, one
- instance of "the <ORGANIZATION>" was not replaced by "Columbia
- University". Fixed in ckcmai.c, 19 July 2011. ====
- Added another search term for lk5crypto in the linux+krb5 targets.
- makefile, 20 July 2011. ====
- Added and successfully used a new solaris9+krb5+ssl target. makefile, 8
- Aug 2011. ====
- FreeBSD 9 switched from utmp to utmpx, which broke compilation of
- Kermit on that version. Furthermore, the UUCP lockfile conventions
- changed in FreeBSD 8, which did not prevent C-Kermit from compiling,
- but any attempt to lock a terminal or pty device would fail. Thanks to
- Alexey Dokuchaev "danfe" for finding and patching the problems. I undid
- the patches and fixed the code so it didn't need to be patched, except
- for some declarations in the ck_crp.c module, which I felt had better
- not be changed without thoroughly testing the changes on dozens of
- different platforms, which I don't have time to do (in any case, it
- builds OK on FreeBSD 9 without the patch). In particular I made
- completely new makefile targets for FreeBSD 4.0 and later, which
- automatically detect FreeBSD 8 and FreeBSD 9 to enable the appropriate
- feature tests in the code, for a regular build and a build with
- OpenSSL. These changes should affect only FreeBSD. ckutio.c, ckufio.c,
- ck_crp.c, ckuus5.c, makefile, 20 Aug 2011. ====
- Changed the version to 9.0.302, ckcmai.c, 20 Aug 2011. ====
- Fixed freebsd+ssl and netbsd+ssl, netbsd+krb5, and netbsd+krb5+ssl
- targets to have CC=$(CC) instead of CC=gcc; ditto for CC2, and adjusted
- line breaks in freebsd and freebsd+ssl targets for easier patching.
- makefile, 21 Aug 2011. ====
- --- 9.0.302 --- ====
- From Edward Berner: C-Kermit 9.0 on OpenBSD on sparc64 gets a "Bus
- error" and dumps core when receiving a file. Some variables were
- defined long or CK_OFF_T and extern'd as int from other modules. Edward
- found and corrected all instances of this. The variables were filcnt,
- dest, filrej, dialcapas. ckcpro.w, ckuusx.c, 23 Aug 2011. ====
- Changed version to 9.0.303. ckcmai.c, 23 Aug 2011. ====
- Fixed a problem with 'make linux "KFLAGS=-DNOICP -DNOSPL -DNOHELP
- -DNODEBUG"' in which fp_rounding and fp_digits came up undefined.
- ckuus4.c, 28 May 2012. ====
- From Adam Friedlander: OpenSSL version test was preventing C-Kermit
- from starting when the installed OpenSSL version was >= 1.0.0 and there
- was a change in the last letter (e.g. 1.0.0a to 1.0.0b) or to the last
- number (e.g. 1.0.0 to 1.0.1), but these changes do not indicate ABI
- incompatibility. This was forcing rebuild and reinstallation of
- C-Kermit every time a minor update was made to OpenSSL (e.g. on Ubuntu
- Linux that has preinstalled binaries). ck_ssl.[ch], ckcmai.c, 28 May
- 2012. ====
- Changed version to 9.0.304 Dev.01. ckckmai.c, 28 May 2012. ====
- From Tim Sneddon:
- [13]http://tim.sneddon.id.au/blog/Posts/C-Kermit_for_Android -
- Adaptation of C-Kermit to Android via the Linux path; required very few
- changes, mainly #ifdef'ing a couple Linux APIs not supported in
- Android. ckcdeb.h, ckufio.c, ckutio.c, 20 Jul 2012. ====
- Vanity herald for Android: ckuver.h, 20 Jul 2012. ====
- From Adam Friedlander: an updated OpenSSL version test obtained after
- consultation with Jeff Altman incorporating the new rules for when the
- OpenSSL 1.x.yz ABI changes. ck_ssl.[ch], 20 Jul 2012. ====
- From Ian Beckwith (Debian), support for multiarchitecture curses
- library in Linux; also libresolv, libcrypt, liblockdev, libk5crypto,
- libgssapi_krb5. Don't know if these changes work, but at least they
- don't seem to hurt anything. makefile, 20 Jul 2012. ====
- Built OK on Linux RHEL4 32-bit with: "make linux", "make linux+SSL"
- (OpenSSL 0.9.7a). Built OK on Linux RHEL5 64-bit with: "make linux",
- "make linux+krb5", "make linux+SSL -DKFLAGS=-UCK_DES" (0.9.8q). Also
- with "make linux -DKFLAGS=-DANDROID" to see the vanity herald. Built OK
- on Solaris 9 with and without OpenSSL (0.9.8q). Built OK on NetBSD
- 5.1.2 with and without OpenSSL (0.9.9-dev). Built on NetBSD 5.1.2 with
- Kerberos V 1.6.3; lots of warnings but it runs. ====
- Added android.mk (makefile) and android.txt (README) to regular Unix
- tarball. 20 Jul 2012. ====
- When uploading files to Unix from K95, it has become increasingly
- unlikely that the filename is shown on the file-transfer display
- because Unix pathnames are growing longer and longer all the time, and
- the name part disappears off the edge. This can't be fixed in K95
- (since nobody has yet been able to build it from source code), but it
- can be ameliorated in C-Kermit in many cases by shortening the pathname
- sent back to K95 when receiving files from or under the user's Unix
- login directory, by replacing login directory path prefix with "~/".
- This was done within #ifdef UNIX .. #endif in ckcpro.w, in the place
- where the protocol state machine handles an F packet. It could probably
- also be done in VMS, but probably not worth it ("SYS$LOGIN:" is not
- exactly short). This could be expanded, with some effort, to other
- people's directories ("~eddie/"). ckcpro.w, ckcmai.c, makefile, 2 Nov
- 2012. ====
- Correction to yesterday's, which didn't account for SET CD HOME.
- ckcpro.w, ckcmai.c, ckuus[454].c, 3 Nov 2012. ====
- The change of Nov 2 still needs work. Modern Unix servers tend to have
- ever-longer pathnames so even with the previous change we're still
- seeing the truncated pathnames on the file transfer display of the
- sender which is less than helpful when sending a large group of files;
- you can't see the filenames and have no idea how far along the transfer
- is (because the thermometer applies only to the current file, not the
- whole group). Why should C-Kermit, when receiving files, send back the
- entire pathname when the incoming file is being stored in its current
- directory? No reason. Added code to chop it off. ckcpro.w, 11 March
- 2013.
- (Obviously it would be better for the progess indicator to apply to the
- whole transfer than to the current file out of possibly many, but that
- would require a change to the protocol itself, in which the file sender
- makes a pass through the file list to get the total size of all files
- and then sends a new kind of message to the receiver with this
- information. Possibly this could be done in the A packet: File #x out
- of y in a transfer of total size z.)
- In the 1980s and 90s, before switches were added to Kermit command
- syntax, there was a MOVE command, which meant to send a file and then
- delete the original after it had been sent successfully. When switches
- were added in C-Kermit 7.0 in 2000, this function was assigned to SEND
- /DELETE. The MOVE command was left behind for compatibility.
- Unfortunately it's so similar to the Unix 'mv' that I (for one) keep
- using it when I mean RENAME. On the supposition that nobody uses MOVE
- in the SEND /DELETE sense any more (if they ever did), I changed it to
- be a synonym for RENAME. If you build C-Kermit with -DOLDMOVE in
- KFLAGS, the old behavior is restored. ckuus[r2].c, 11 Mar 2013.
- The DIRECTORY command has a lot of switches for file selection, sorting
- of results, etc. These include an /ARRAY: switch that allows the
- resulting filenames to be stored in an array rather than being printed,
- so they can be processed by a script; for example, to do something with
- the files that were selected by the DIRECTORY command switches. But the
- array was constructed before processing the switches and doing any
- sorting. So, for example, DIRECTORY /SORT:SIZE /TOP:10 /ARRAY:&a, which
- you would expect to load the array a with the 10 largest files in the
- current directly in reverse order of size, loads all the files in
- alphabetical order. Fixed in domydir(), ckuus6.c, 11 Mar 2013.
- The S-Expression processor sometimes dumped core if an invalid operator
- was given. Fixed in dosexp(), ckuus3.c, 11 March 2012.
- Added note about Raspberry Pi (that it builds normally with any of the
- Linux targets) to the Makefile, 11 Mar 2013. ====
- A large manufacturing company upgraded from MS-DOS Kermit to Kermit 95
- because new PCs were installed that could no longer us MS-DOS Kermit.
- These PCs are used to control Cincinnati (now MAG IAS) machines (press
- brakes, composite tape layers, etc), which use their own implementation
- of Kermit protocol to exchange data with the PC. Where MS-DOS Kermit
- had been working fine in this capacity for some 20 years, K95 failed
- consistently after the 13th packet. The Cincinnati machines are quite
- old and (from the standpoint of their communications) quite primitive,
- communicating over a serial port at 19.2Kbps with no flow control. When
- receiving a file, they buffer the incoming file data and when the
- buffer fills, they "turn around" to write out the buffer, but this
- takes a long time. The difference between MS-DOS Kermit and K95 (and
- C-Kermit for that matter, which runs the same protocol code) is that
- packet timeouts in MS-DOS Kermit are fixed, whereas those in
- C-Kermit/K95 are dynamic, varying according to the characteristics of
- the transfer in progress. In this case the first 12 ACKs were received
- promptly so K95's timeout reduced itself to an interval shorter than
- the time needed by the machine to write out its buffer. K95 resent the
- packet at a time when the machine was not prepared to receive it and
- matters went downhill from there. The resolution was to tell K95 to use
- a longer timout interval, and to make it fixed, not dynamic:
- SET SEND TIMEOUT 20 FIXED
- This raised two issues:
- 1. This feature was implemented in C-Kermit 6.0.192 from 1996, and
- as such is documented in "Using C-Kermit", but not online, so it
- took me quite a while to find it even though it's my own creation.
- 2. It's not documented in the brake.html page, which discusses how to
- use Kermit software with Cincinnati CNC machines.
- 3. A long fixed timeout should have been included in the ROBUST command.
- I updated the ROBUST command in ckuus5.c, and updated the brake.html
- page on the new Kermit website. 12 Mar 2013. ====
- Since Oct 2006 C-Kermit has had a very handy TOUCH command, much more
- useful that Unix's because of all the file-selection options (switches)
- that go with it, the same, in fact, as the DIRECTORY command, even
- though a few of them (such as /OUTPUT) don't make much sense with
- TOUCH. But one thing that Kermit TOUCH can't do that Unix touch can is
- to set the file's mod time to an arbitrary date-time. Up until now,
- Kermit TOUCH can only give it the current date-time. To add this
- capability in a sensible way, I started by giving TOUCH its own switch
- table. In doing this I also corrected a long-standing error in the
- original DIRECTORY switch table, in which one of the keywords,
- /FOLLOWLINKS, was out of order, which could have resulted in spurious
- parse errors or failures. ckuusr.h, ckuus6.c, 12 Mar 2013.
- Added TOUCH /MODTIME:xxx, allowing a specific date-time to be set; xxx
- is a free-format date and/or time as described by "HELP DATE". This
- works both for all existing files that are selected by the switches and
- wildcard patterns, or for a single nonexistent file, i.e. to create a
- new file with a given modification date-time. Also added TOUCH /LIST,
- which lists the files that were touched, and and TOUCH /SIMULATE which
- lists the files that would be touched without actually touching them.
- ckuus6.c, 12 Mar 2013.
- New HELP TOUCH text. ckuus2.c, 12 Mar 2013.
- Fixed HELP INCREMENT and HELP DECREMENT to clarify that the operations
- use integer arithmetic and the result is always an integer. ckuus2.c,
- 13 Mar 2013. ====
- ---Dev.03--- ====
- Added SET EXIT MESSAGE { ON, OFF, STDOUT, STDERR }, so the text (if
- any) from an EXIT command (e.g. EXIT 1 "File not found") can be
- supressed, printed normally, or sent to stderr. Added EXIT MESSAGE
- status to SHOW EXIT and updated HELP SET EXIT. ckuus[235].c, 13 Mar
- 2013. ====
- ziperm() and zgperm() did not work in Unix for filespecs that used
- tilde notation, e.g. ~/kermit/ckuusr.h. Fixed in ckufio.c, 14 Mar 2013.
- ====
- Made a new function \ffileinfo(name,&a) that populates the specified
- array with 7 or 8 elements:
- 1. the file's name;
- 2. the full path of the directory where the file resides;
- 3. the file's modification date-time yyyymmdd hh:mm:ss;
- 4. platform-specific permissions string, e.g. "drwxrwxr-x" or "RWED,RWE,RE,E";
- 5. platform-specific permissions code, e.g. an octal number like 40775;
- 6. the file's size in bytes;
- 7. file type: 1=regular file; 2=executable; 3=directory; 4=link; 0=unknown.
- 8. (if filename is link) name of linked-to file.
- ckuusr.h, ckuus[24].c, 14 Mar 2013. ====
- ---Dev.04--- ====
- Lawrence Woodman reported that with SET TELNET WAIT OFF, if C-Kermit
- telnets to a site that doesn't properly respond to all Telnet
- negotions, such as b4bbs.sampsa.com (running Synchronet BBS software),
- the initial connection works OK (Kermit doesn't wait), but then after
- escaping back and connecting again, TELNET WAIT switches back to ON.
- This is evidently because of the TELNET KERMIT negotiations, which
- require waiting. But it occurs to me that nobody is using the TELNET
- KERMIT option due to lack of support for it, so if the user says SET
- TELNET WAIT OFF, this should not be overriden silently. (In fact,
- C-Kermit said WILL KERMIT, the remote said DONT KERMIT, so I think the
- problem is deeper, because for some reason C-Kermit was sending SB
- REQ_STOP even though the Telnet KERMIT option was not negotiated, but
- let's come back to this if there is ever any reason to.) I fixed the
- problem by not sending SB_STOP_REQ is SET TELNET WAIT is OFF. ckctel.c,
- line 2238, 9 Apr 2013. ====
- Looking at this in more detail... C-Kermit says DO KERMIT, WILL KERMIT.
- Remote says WILL KERMIT, DON'T KERMIT. In other words the remote is
- saying "I will do Kermit, I refuse to negotiate about Kermit". As soon
- as C-Kermit receives WILL KERMIT, it sends SB KERMIT SOP to tell the
- remote what its Kermit-protocol start-of-packet character is; this is
- required by RFC2840. The remote is required to respond with *its*
- start-of-packet character, but it never does, since its WILL KERMIT was
- in error. So upon receiving DONT Kermit I turned off the flag that said
- the other Kermit supports and will use the Kermit option. This allows
- the connection to be made to the Synchronet Telnet server without
- forcing the user to SET TELNET WAIT OFF or (even more obscure) SET
- TELOPT KERMIT REFUSE REFUSE. ckctel.c, 12 Apr 2013. ====
- Added a third element to the \fpictureinfo() result array: the "date
- taken", if any, recorded by the camera or scanner. This is done in the
- dumbest possible way, without attempting to parse the Exif structure;
- Kermit simply scans the first 8K of the JPG file looking for valid
- date-time strings, and keeps the earliest one found. ckuus4.c, 14 Apr
- 2013. ====
- Fixed \fpictureinof() to handle Unix filenames with tilde notation.
- Also checked to make sure that no other \functions() had this problem.
- ckuus4.c, 15 Apr 2013. ====
- Discovered that TOUCH /MODTIME could, in some cases, destroy an
- existing file, oops. Fixed in domydir(), ckuus6.c , 15 Apr 2013. ====
- Added \ffilecompare(file1,file2) function. Returns 0 if the contents of
- the two files is identical, 1 if they differ, and -1 on any kind of
- error (file not found, etc). ckuus[24].c, 15 Apr 2013. ====
- Added IF FUNCTION name, to test if the given built-in function is
- available. The name can be entered as name, \fname(), \\fname, or any
- combination, e.g. "if function left", "if func \fleft()", "if func
- left()", etc. ckuus[26].c, 15 Apr 2013. ====
- Here is an incompatible change: Noticed that "if lkjlkjlkj" (where
- lkjlkjlkj is just some gibberish) did not produce an error. The token
- following IF is supposed to be a keyword, a number, a variable that
- evaluates to a number, or the name of a macro whose value is a number.
- A string of gibberish is none of these, but the code in this case would
- treat the gibberish as "false" (i.e. as the name of a macro whose value
- was 0) and proceed to not execute the statement (or worse, if there
- were an ELSE part, it would execute it). I would hope that nobody ever
- noticed, much less relied on, this undocumented misfeature. Fixed in
- boolexp(), ckuus6.c, 15 Apr 2013. ====
- Changed references in C-Kermit help text from kermit.columbia.edu to
- www.kermitproject.org. ckuus2.c, 15 Apr 2013. ====
- Built on NetBSD 5.1.2, Solaris 9, FreeBSD 6.4, SCO OSR6.0.0, Linux
- Slackware 13.37.0, Linux RHEL5 (64-bit), Linux RHEL4 32-bit (with and
- without OpenSSL), all with no complaints.a ====
- --- Dev.05 --- ====
- Sure enough the next day this caught mistakes in TWO of my overnight
- cron job scripts: One was "if not <misspelled variable name>". The
- other was "if neq ...". There is no "if neq". Added IF NEQ, IF LLE, IF
- LGE, since even I expected them to be there. ckuus[26].c, 16 Apr 2016.
- ====
- Added a 9th element to the \ffileinfo() result array: analysis of
- contents of the file, if it is a regular file (not a directory or a
- link):
- text:7bit 7-bit text (e.g. ASCII, ISO 646)
- text:utf8 Unicode 8-bit Transformation Format (UTF-8)
- text:ucs2 Raw Unicode
- text:8bit 8-bit text (e.g. ISO 8859-1, Windows CP 1252)
- text:unknown Text, unknown encoding
- binary Binary (e.g. an executable, object, or image file)
- This analysis is performed using the same file scanner that is used
- during file transfer to set up text mode versus binary mode, and to set
- up the character-set conversion if possible. If the file is not a
- regular file, the 9th element is empty. Suppose the array is \&a[].
- Then:
- if equ "\fleft(\&a[9],4)" "text" (or if equ "\fword(\&a[9],1) "text")
- or:
- if neq "\&a[9]" "binary"
- the file is a text file, not a binary file, a directory file, or a
- link. This is useful if you don't care about the encoding. ckuus4.c, 16
- Apr 2013. ====
- For convenience, two new IF conditions have been added: IF BINARY
- filename succeeds if the named file is a binary file (meaning that it
- would be transferred in binary mode by Kermit): an executable program,
- an object file, an image file, etc. IF TEXT filename succeeds if the
- named file is a text file, such as the file you are reading, or program
- source code, or an HTML or XML file, etc, regardless of the character
- encoding. If the file is a directory, both IF TEXT and IF BINARY fail.
- If the file is a link, the result reflects the contents of the
- linked-to file. ckuus[26].c, 17 Apr 2013. ====
- Looked into making ==, if >, etc, work with strings, as one might
- expect from other languages like Javascript. Turned out to be
- unworkable because these constructions accept not only numeric
- constants and numeric-valued variables, but also arithmetic
- expressions. The idea would have been that if either of the two
- operands was non-numeric once evaluated, lexical comparison would be
- done instead of arithmetic comparison. The fly in the ointment is
- something like this:
- if > x*(x+1) 2000 ...
- When the arithmetic comparison operators are used, Kermit knows that
- the operands must be numbers, so any non-numeric strings like 'x' in
- the example above are automatically treated as macros and evaluated.
- But if we check first to see if the string is non-numeric, it will be,
- and the same evaluation will not be done, and the the operands will be
- compared as strings, giving a result that could only be right by
- accident. ====
- Built on Linux RH 5.9 x86_64, 18 Apr 2013.
- But when doing the Kerberos+SSL build:
- -L/usr/kerberos/lib -L/usr/local/ssl/
- lib -lssl -ldes425 -lpam -lz -lcrypto -lgssapi_krb5 -lkrb5 -lk5crypto
- -lcom_err -lncurses -lutil -lresolv -lcrypt -lm
- ?OpenSSL libraries do not match required version:
- . C-Kermit built with OpenSSL 1.0.1c 10 May 2012
- . Version found OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
- OpenSSL versions prior to 1.0.0 must be the same.
- Set LD_LIBRARY_PATH for OpenSSL 1.0.1c 10 May 2012.
- Or rebuild C-Kermit from source on this computer to make versions agree.
- C-Kermit makefile target: linux+krb5+ssl
- Or if that is what you did then try to find out why
- the program loader (image activator) is choosing a
- different OpenSSL library than the one specified in the build.
- ====
- Added a CHANGE command that's part of the DIRECTORY / TOUCH family,
- with most of the same file-selection switches:
- CHANGE /switches filespec string1 [ string2 ]
- Example:
- CHANGE /RECURSIVE ~/web/*.html [14]http://www.oldsite.com [15]http://www.new
- site.com
- The syntax of the command is a little annoying because Unix users would
- expect the filespec to come last, but the command shares a vast amount
- of parsing and execution code with DIRECTORY and TOUCH, which I didn't
- want to duplicate.
- CHANGE-specific switches:
- /CASE:{ON,OFF} - Honor/Ignore alphabetic case when searching for string1
- /MODTIME:{PRESERVE,UPDATE} - Modtime for changed file
- /SIMULATE - Say which files would be changed without changing them.
- ckuusr.[ch], ckuus6.c, 3 May 2013. ====
- Updated SUPPORT command text. ckuus2.c, 3 May 2013. ====
- Suppose you want to do something to all the files whose names match a
- certain pattern and that contain a certain string or text that matches
- a certain pattern. For example, in a website with thousands of html
- files, all the ones that contain links to a site that disappeared. How
- to get a list of such files? I added an /ARRAY:&x switch to Kermit's
- GREP command for this. Then after the GREP command the resulting array
- can be accessed in a loop to process the desired files -- delete,
- rename, transfer, etc. Element 0 of the array tells now many files
- contained a match and how many elements are in the array (1-based).
- ckuus6.c, 22 Jul 2013. ====
- Added HELP CHANGE text. ckuus2.c, 22 Jul 2013. ====
- CHANGE works by copying each file to a temporary directory, making
- changes to the the copy, and then renaming the copy over the original
- file. It was doing this for all files, even when they weren't actually
- changed (i.e. did not contain string1). Also if \v(tmpdir) was defined
- to be a directory that did not exist, the CHANGE command didn't try to
- create it. Both fixed in ckuus6.c, 22 Jul 2013. ====
- Until now there was no straightforward way to extract a field from a
- date-time string. As a start, I added a new output format, 5, for
- \fcvtdate(), to make the result be numeric with fields delimited by
- ':', for example: 2013:07:22:15:19:43. Any desired field can be
- extracted with \fword(), for example to get the current year:
- \fword(\fcvtdate(,5),1), or for the current month
- \fword(\fcvtdate(,5),2). And so on. Since each field is numeric, it can
- index into tables of (say) month names or day names in the desired
- language and character-set. ckucmd.c, 22 Jul 2013. ====
- Added \v(year), which evaluates to the current year, e.g. 2013. Mainly
- because I keep expecting it to be there. Also \v(month) (three-letter
- month abbreviation, English) and \v(nmonth) (2-digit month number,
- 01-12). ckuusr.h, ckuus4.c, 22 Jul 2013.
- Note that \v(month) and \v(day) are not ideal -- abbreviations, not
- full names, and English only. I added \v(month) and \v(nmonth) only for
- symmetry with \v(day) and \v(nday). These shortcomings are remedied in
- the next items. ====
- Put a locale_dayname() function in ckutio.c. This is compiled if
- HAVE_LOCALE is defined and NO_LOCALE is not defined. HAVE_LOCALE is
- defined for BSD44 and POSIX, VMS, OS/2, and Windows. These definitions
- can be adjusted if necessary in ckcdeb.h and NO_LOCALE can be included
- on the make command line to override in case of trouble. ckcdeb.h,
- ckutio.c, 23 Jul 2013. ====
- Added \fdayname(date,fc), where date can be any free-format date/time
- string, with or without the time, or omitted to give the name of the
- current day. fc is a function code: 0 to return the name in full,
- nonzero to abbreviate it according to the locale; if fc is omitted, the
- abbreviated form is returned. The full or abbreviated day name is
- returned in the language and character set specified or implied by the
- locale if the underlying platform is configured for it; otherwise they
- come out in English. These routines builds upon all of the date-time
- code that was added in 2003, particularly cmcvtdate(), the free-format
- date parser, and mjd(), that calculates a Modifed Julian Date, from
- which the day of the week can be derived by a simple modulus. This
- function pretty much supersedes \fday() (which returns only the
- 3-letter English day name), but \fday() remains available for
- compatibility. ckuusr.h, ckuus4.c, 24 Jul 2013. ====
- Added locale_monthame(month,fc), like locale_dayame(day,fc) but for
- months. ckutio.c, 24 Jul 2013. ====
- Added \fmonthame(), like \fdayname() but for months. ckuusr.h,
- ckuus4.c, 24 Jul 2013. ====
- Added HELP text for \fmonthame() and \fdayname(). ckuus2.c, 24 Jul
- 2013. ====
- Developed, built and tested on NetBSD with English, Spanish, and
- German. Built and tested OK on Linux RHEL5 with the same languages.
- Built OK on Solaris 9, which supports the locale APIs, but does not
- have any locales installed except en_US. 24 Jul 2013.
- CAUTION: Except where C-Kermit is explicitly dealing with multibyte
- character sets, such as in file transfer and in the terminal emulator,
- there is no special support for multibyte character sets such as UTF-8,
- Shift-JIS, etc. So while \fupper(), \flower(), and \fcapitalize() can
- work with ISO-8859-1, KOI-8, and other single-byte character sets, they
- won't work with UTF-8 because they are just byte loops, unless the
- underlying isupper, tolower, etc, functions (or macros, or whatever
- they are) do some magic. Ditto for Shift-JIS, Japanese EUC, etc. ====
- A new command-line options, --nolocale, was added to disable use of the
- locale by forcing the "C" locale. Ditto if the environment variable
- K_NOLOCALE is set to a nonzero integer value. ckuusr.h, ckuusy.c,
- ckcmai.c, 24 Jul 2013. ====
- --- Dev.06 --- ====
- The CHANGE command would indicate failure even when there was no error.
- Fixed in ckuus6.c, 4 Aug 2013. ====
- Changed CHANGE /SIMULATE to list files that would NOT be changed only
- if the /VERBOSE switch was included. ckuus6.c, 4 Aug 2013. ====
- Added clarification to HELP CHANGE about string format. ckuus2.c, 3 Sep
- 2013. ====
- NetBSD 6.1, man 3 time: "In NetBSD 6.0 the time_t type was changed to
- be 64 bits wide, including on 32-bit machines, making rollover a
- concern for the far distant future only. Note however that any code
- making the incorrect assumption that time_t is the same as long will
- fail on 32-bit machines in 2038." C-Kermit builds OK but warns:
- ckcmai.c:(.text+0x1e92): warning: warning: reference to compatibility
- time(); include <time.h> for correct reference
- Did this and all's OK. But it might have repercussions elsewhere.
- ckcmai.c, 3 Sep 2013. ====
- ckuus5.c:597:29: warning: missing terminating " character <- fixed 3
- Sep 2013. ====
- \fpictureinfo() was checking the filename against a pattern and failing
- on no match, sometimes incorrectly. I took out the filename check,
- since the next thing it does is check the internal structure of the
- file. ckuus4.c, 17 Sep 2013. ====
- Changed CHANGE message to put spaces around the "->" so it doesn't get
- intepreted by the terminal emulator as part of a URL. ckuus6.c, 11 Oct
- 2013. ====
- If the CHANGE command was used repeatedly, eventually C-Kermit would
- get a memory allocation error. A dynamic buffer was not being freed.
- Fixed in ckuus6.c, 15 Oct 2013. ====
- \fdayname(\v(nday)) would fail if executed on Sunday because \v(nday)
- numbers days 0 (Sunday) to 6 (Saturday), whereas \fdayname() wants 1
- (Monday) through 7 (Sunday). Also, \fdayname(,1) would return "Jan" if
- today was Sunday. Fixed by allowing both 0 and 7 to mean Sunday. All
- the other day numbers agree. ckuus4.c, 15 Oct 2013. ====
- The documentation had the sense of the second argument to \fdayname()
- and \fmonthname() backwards. Fixed in locale.html, 15 Oct 2013. ====
- \fpictureinfo() problem from 17 Sep 2013 was because I was using a tail
- anchor ($) on the pattern but had not set the ckmatch() opts bit saying
- so. Removed the tail anchor. Also changed the function to return 3
- ("square") if width == height (so it's kind of like a bit mask).
- ckuus4.c, 15 Oct 2013. ====
- Updated HELP FUNCTION PICTUREINFO. ckuus2.c, 15 Oct 2013. ====
- Android changes from Jake Thompson, 17 Nov 2013:
- . Disable locales in android.mk
- . Disable "format string checks" in the ndk-build invocation, android.txt.
- ====
- Changes to make current C-Kermit source code integrate with Kermit 95
- code, from from Jake Thompson, 21 Nov 2013:
- . Inconsistent declarations of nzxpand() in Unix and Windows, ckcdeb.h.
- . Extraneous prototype of ckcgetc() in ckcker.h.
- . Duplicate definition of __inline int in ckcsig.h.
- . Similar issues in ckcuni.h.
- . Windows OpenSSL doesn't have X509_to_user() or X509_userok(), ck_ssl.c.
- . No longer necessary to #include ckosslc.h and ckossl.h in ck_ssl.c.
- . zgfs_link and linkname not implemented in K95: ckuus4.c.
- . Include ckodir.h for MAXPATHLEN in ckuus[46].c.
- . chkaes() calling sequence is different in K95: ckuusr.h.
- Each change marked with "[jt] 2013/11/21". 24 Nov 2013. ====
- Removed or updated numerous references to Columbia University, many
- modules, 24 Nov 2013. ====
- Changed program name in Windows from "Kermit 95" to "C-Kermit".
- ckcmai.c, 24 Nov 2013. ====
- Commented out calls to shoreg(). ckuus[r5].c, 24 Nov 2013. ====
- Built OK on NetBSD 6.1.2. Built OK on RHEL4. Could not build with SSL
- on NetBSD because "can't open config file: /etc/openssl/openssl.cnf".
- Built OK on Linux with OpenSSL 0.9.7a but for some reason a ton of
- "passing arg ... from incompatible pointer type" messages came out of
- DES_*() function invocations, which didn't happen before. Built OK on
- Solaris 9 without SSL, and with OpenSSL 0.9.8q (with no warnings, but
- this one doesn't have DES). 24 Nov 2013. ====
- --- Dev.07 --- ====
- From Jake Thompson: Fixed a typo in applying diffs to ckcsig.h. Fixed
- some locale-related #ifdefs in ckuusr.h and ckuus5.c. Also added the
- ability to suppress locale support at compile time via -DNOLOCALE
- (ckcdeb.h). 6 Dec 2013. ====
- A major annoyance with C-Kermit scripts is that when a command fails,
- we often get no clue about which command it was or where it was. This
- happens when the command issues its own error message (e.g. "?Text
- required") and returns -9 to the parser to indicate an error message
- was already printed (on the assumption that the user just typed the bad
- command and so knows what it is). In the cases where the command did
- not already issue an error message, the parser already echoed the
- command that failed. I changed the parser to do this in the -9 case
- too. ckuus5.c, 6 Dec 2013.
- (Another problem in this area is just too hard to fix, namely that when
- the parser is executing a script and a command fails, the parser often
- has no idea which line of the script file the failing command came
- from. That's because when reading a script file, the parser
- concatenates each {...} block into a single line, so when a command
- within the block fails, the parser only knows the line number of the
- first line of the block.) ====
- Another fundamental change to the parser. Script writers might have
- noticed that an innocent-looking statement like:
- if equ \%a xx echo "Dos equis"
- would work correctly sometimes and others would get a parse error,
- depending on whether the variable (\%a in this case) had a non-empty
- definition. The normal workaround is to write it like this:
- if equ "\%a" "xx" echo "Dos equis"
- but that shouldn't be necessary, since the parser knows that (a) the
- statement does not have a syntax error and (b) it has evaluated a
- variable that has an empty (or no) value, in which case it should
- simply return an empty string instead of a failure code. I ran several
- of my huge production scripts with this change with no ill effects, and
- in fact it let me track down several long-elusive problems in the
- scripts. ckucmd.c, 6 Dec 2013. ====
- In the same vein... Lazy IF Conditions, in which a variable name can be
- used as an IF condition as long as it evaluates to a number (0 being
- false, nonzero being true)... The error message given when the variable
- (or other random string) did not have a numeric value, or any value at
- all, was less than informative. Now it prints the variable name, which
- is a good trick because it had already been wiped out in the act of
- trying to evaluate it. ckuus6.c, 6 Dec 2013. ====
- Changed ckstrcmp(), which is used by the DIRECTORY command, the ARRAY
- /SORT command, the \fstrcmp() function, and who knows what else (this
- function is called from 261 different places in C-Kermit), to use the
- collating sequence of the current locale, which works as long as the
- the character set is single-byte (e.g. ISO-8859-1 or KOI8). The way I
- did it is not pretty, but there is no standard locale-aware string
- comparison function that has the options that ckstrcmp() has (and
- uses), and as far as I can tell there is no standard way to compare two
- characters according to the locale, only two NUL-terminated strings. So
- I turn each character into a string and compare them with strcoll(). I
- can't just compare the strings directly because (a) strcoll() doesn't
- allow the comparison of pieces of strings and (b) there is no
- case-independent version of strcoll(). The new code is within #ifdef
- HAVE_LOCALE..#endif, but some adjustments might be needed if strcoll()
- (circa 1989) is not found everywhere that locales are found. Anyway,
- now non-ASCII filenames and arrays (except in multibyte character sets
- like UTF8) will sort correctly if the locale has the required collating
- sequence; otherwise they come out as before. ckclib.c, 6 Dec 2013. ====
- DIR /ARRAY:&a *.jpg doesn't work right if only one file matches: it
- creates the array with dimension 1, but element 1 is empty. But it
- works OK if two or more files match. This is because the code to load
- the array is executed only if we sort the result, a step which we
- cleverly skip if there is only one file in the listing. For that
- matter, DIR /NOSORT /ARRAY:&a *.* doesn't work at all, no matter how
- many files match. It turns out a lot of code is in the sorting block
- that doesn't actually have anything to do with sorting. So I changed
- domydir() so it the "xsort" flag (which selects this code) is always
- on, and added a new flag that says whether we actually call the sort
- routine, which was safer than reorganizing a ton of code. ckuus6.c, 6
- Dec 2013. ====
- Branding of C-Kermit for Windows... I removed the special version
- numbering for C-Kermit for Windows (nee K95) so now it should show the
- regular C-Kermit version herald. Changed \v(program) to always be
- "C-Kermit", not "K-95", "K/2", etc. Changed default prompt for Windows
- and OS/2 to [dir] C-Kermit>. Added "IF WINDOWS" and made "IF K-95" an
- invisible synonym for it. Performed a rather massive edit on the help
- text module to remove references to Kermit 95. Builds OK in Unix but so
- far I don't have a way to test it in Windows. ckcmai.c, ckuus2.c,
- ckuus4.c, ckuus5.c, ckuus6.c, 6 Dec 2013. ====
- --- Dev.08 --- ====
- The TOUCH command was dumping core because of a clever optimization I
- put in the code at some point, probably not too long ago or I would
- have noticed it. Fixed the problem by removing the optimization.
- ckuus6.c, 17 Dec 2013. ====
- Reported by Christoph Sievers... the following sequence:
- SET FTP AUTOENCRYPTION ON
- SET FTP AUTHTYPE TLS
- SET AUTH TLS VERBOSE ON
- SET AUTH TLS VERIFY NO
- ftp open 127.0.0.1 12345 /USER:fu /PASSWORD:bar /NOINIT
- is supposed to allow a secure FTP connection to proceed without the
- question:
- Warning: Server didn't provide a certificate
- Continue? (Y/N)
- but the question was coming out anyway. Jeff noticed that the FTP/SSL
- code was missing an IF clause that was present in the TELNET/SSL code.
- Fixed in ckcftp.c, 17 Dec 2013. ====
- For Unix only, changed default prompt to show "~/" instead of the full
- home path, which these days can get ridiculously long. So now, for
- example, "(/hmt/sirius1/prv0/kd/fdc/) C-Kermit>" becomes "(~/)
- C-Kermit>". If I'm cd'd to the "src" directory of my home directory,
- it's "(~/src/) C-Kermit>". If my current directory is not in my home
- tree, its full path is shown as before. ckuus5.c (definition of
- ckprompt), 17 Dec 2013. ====
- Got rid of the "ok" keyword as an IF condition. OK was an undocumented
- and invisible synonym for SUCCESS, but this has bitten me too many
- times, when I create a variable named OK and use it as a "lazy IF
- condition" as in:
- .ok = 0
- if match \&a[i] img_[0-9][0-9][0-9][0-9].jpg .ok = 1
- else if match \&a[i] img_[0-9][0-9][0-9][0-9][0-9].jpg .ok = 1
- else if match \&a[i] dscf[0-9][0-9][0-9][0-9].jpg .ok = 1
- else if match \&a[i] scan[0-9][0-9][0-9][0-9].jpg .ok = 1
- if not ok exit 1 "\&a[i]: Not a recognized image file name"
- ckuus6.c, 17 Dec 2013. ====
- Corrected HELP SHIFT text, which previously said it affected only
- arguments 1..9, but really affects all arguments, no matter how many.
- ckuus2.c, 17 Dec 2013. ====
- From David Goodwin: Remove all references to K95 registration and
- time-limited demo versions, and fix a couple minor compilation problems
- for the Windows version. ckcmai.c, ckcpro.w, ckucmd.c, ckuus[34rx].c,
- ckuusr.h, 20 Jan 2014. ====
- Fixed an aggregrate array initialization (not legal in non-ANSI).
- ckuus4.c, 20 Jan 2014. ====
- Added CHECK LOCALE. ckuus3.c, 20 Jan 2014. ====
- Various minor touch-ups to HELP, NEWS, VERSION text. ckuus[r2].c, 20
- Jan 2014. ====
- Fixed core dump that happened only in Solaris (as far as I know) with
- "ftp open kermitproject.org" (which should have been
- "ftp.kermitproject.org"). The problem was that perror() was being
- called with a pointer to an empty string, which should be OK but
- apparently is not in Solaris. ckcftp.c, 20 January 2014. ====
- Updated version number and date and copyright date. ckcmai.c and many
- other modules. 20 January 2014. ====
- --- Dev.09 --- ====
- From my to-do list.... I noticed a while back that \fsplit(s,&a,,TSV)
- could mess up if the data fields contained grouping characters like
- parens, quotes, brackets, or braces. \fsplit() and \fword() are handled
- by cksplit(), which is designed to allow grouping, nesting, quoting,
- recursion, and so on (for parsing such things as complex LISP
- S-expressions and Comma-separated lists full of quoting) and I guess
- some of that code was being executed for TSVs. Rather than mess with
- the existing code and possibly break something else, I added a chunk of
- new code at the beginning of the byte loop in cksplit() to handle TSVs,
- which are extremely simple, and so the new code is too. And also way
- more efficient. Seems to work right, and other things like LISP
- programs still work. ckclib.c, 31 Jan 2014. ====
- From Ian Beckwith, updates to the Debian Linux MULTIARCH support. "I've
- checked through the patched makefile, every library is checked in
- /usr/lib/$(MULTIARCH)/, except for libdes425, which isn't in debian."
- These changes are presently in Debian testing for amd64, armel, armhf,
- i386, kfreebsd-amd64, kfreebsd-i386, mips, mipsel, powerpc, s390x,
- sparc. makefile, 23 Feb 2014.
- Documentation for MULTIARCH:
- [16]https://wiki.debian.org/Multiarch/Implementation
- [17]https://wiki.ubuntu.com/MultiarchSpec
- [18]https://wiki.debian.org/Multiarch/HOWTO
- ====
- From Mark Wooding: add #define _XOPEN_SOURCE 500, #include <stdlib.h>
- in the PTY module, "Needed along with -DHAVE_PTMX for working ptys".
- Also fixed a debug() statement that had a string argument that should
- have been an int. ckupty.c, 23 Feb 2014. ====
- From Mark Wooding: supply default "(none)" value for \v(dialmsg).
- ckuus4.c, 23 Feb 2014. ====
- From Mark Wooding: Fix inconsistent declarations of a couple variables
- across modules; he actually reported a bunch of them but all the
- serious ones (int vs long or off_t) had been fixed in 2005 with the
- introduction of CK_OFF_T, and the only two that needed fixing were char
- * vs char [] (prevcmd and cmdfil). ckucmd.c, ckuusy.c, 23 Feb 2014.
- ====
- --- Dev.10 --- ====
- The photogallery script documentation contains a hint that didn't work,
- namely that to create a list of the names of all the non-thumbnail,
- non-resized original image files, use:
- directory /brief /except:*-[tr].jpg /output:somefile *.jpg
- This did not work; the /EXCEPT switch was ignored whenever the /BRIEF
- switch was included in a DIRECTORY command. Fixed in domydir() by
- moving two lines of code to where they always should have been.
- ckuus6.c, 3 Nov 2014. ====
- I received reports from both Alan Jones and Harold Baldwin around the
- same time that REMOTE commands were getting "?Not confirmed" parse
- errors in C-Kermit 9.0.302 and later. Incredibly, this was broken long
- ago in remcfm(); see the comment there in ckuus7.c about line 7177. The
- problem was that I commented out the test for an empty cmtxt() result
- string. Apparently at least 10 years have passed without anybody
- noticing and reporting this (it works right in K95 2.1.3 from 2003).
- Fixed in ckuus7.c, 3 Nov 2014.
- Updated HELP SET FILE text to mention that SET FILE COLLISION OVERWRITE
- doesn't work for a server unless it has also been told to ENABLE
- DELETE. ckuus2.c, 3 Nov 2014. ====
- --- Dev.11 --- ====
- On QNX 4.25 an FTP GET command always failed with a segmentation fault.
- In fact, this would happen in any Unix version of C-Kermit that has
- NOUUCP defined, such as Mac OS X. The code in the #ifdef NOUUCP section
- of zchko() was wrong, clobbering the variable (x) that held the length
- of filename string. I fixed zchko to not do that. ckufio.c 9.0.219, 11
- Jan 2015. ====
- Updated copyright year to 2015. ckcmai.c, 11 Jan 2015. ====
- Fixed the previous fix. ckufio.c 9.0.220, 12 Jan 2015. ====
- --- Dev.12 --- ====
- SET LOGIN USER xxx did not evaluate xxx if it was a variable. If there
- was ever a reason for this I can't recall it. Fixed in ckuus3.c, 5 Feb
- 2015. ====
- Edward Berner noticed that K95 built with Open Watcom was crashing
- because of "inconsistent extern declarations of vmode". vmode is
- declared BYTE vmode = VCMD; in ckoco2.c and referenced as extern BYTE
- in all but two cko*.c modules, but as extern int in all cku*.c modules
- except cko[tf]io.c. BYTE is not a known type to mainline C-Kermit code.
- However, all references to vmode in mainline code are within #ifdef
- OS2. Fixed in ckofio.c, ckotio.c, ckuus3.c, ckuus6.c, ckuus7.c,
- ckuusx.c, 5 Feb 2015.
- Edward also reported a similar problem with marginbot, but in my
- sources all declarations are consistent (int). But he is working with
- 2003 source code, probably it's fixed. ====
- Changed \fgetpidinfo() to \fpidinfo() to be easier to find, but left
- the original name as an invisible synonym. ckuusr.c, 5 Feb 2015. ====
- Apropos of the previous item, SHOW FUNCTIONS is not very useful. It
- gives a list of all the functions, period. But if I wanted to find only
- the functions that have to do with PIDs, it would be nice to be able to
- include a string to match the function names, as in "show function
- pid". Other examples include "show func info", "sho func code", "sho
- fun date", etc. This was added doshow() ckuus5.c, with a special
- function code parameter value added to kwdhelp() in ckucmd.c and new
- HELP FUNCTION text in ckuus2.c. It's not really pattern matching, just
- a substring. Anything more ambitious would have required a rewrite of
- kwdhelp(). 5 Feb 2015. ====
- From Jake Thompson: "ckcftp.c is currently set up to allow only SSL 3.0
- by default when using AUTH SSL/AUTH TLS, and no later versions
- (SSLv3_client_method). After the POODLE vulnerability, most sites have
- disabled SSL 3.0, allowing only TLS 1.0 or later. The attached patch
- changes ckcftp.c to allow TLS 1.0 and later only by default, adding a
- new bug option use-ssl-v3 in order to downgrade to SSL 3.0 if needed.
- ck_ssl.c looks like it may need similar changes; I haven't looked
- extensively." I applied Jake's patch to ckcftp.c, and the analogous
- patches to ssl_tn_init() and ssl_http_init() in ck_ssl.c, with improved
- structure and debug logging. 5 Feb 2015. ====
- Compiles, links, and runs OK with "make netbsd+ssl" except for these
- warnings:
- ck_ssl.c: In function 'ssl_display_connect_details': ck_ssl.c:1089:12:
- warning: assignment discards qualifiers from pointer target type
- ck_ssl.c: In function 'tls_is_anon': ck_ssl.c:3139:12: warning:
- assignment discards qualifiers from pointer target type ck_ssl.c: In
- function 'tls_is_krb5': ck_ssl.c:3189:12: warning: assignment discards
- qualifiers from pointer target type
- Resulting binary connects with TLS 1.0 to [19]https://www.google.com.
- ====
- --- Dev.13 --- ====
- Two closing braces were missing in ck_ssl.c at line 2207, which
- prevented Dev.13 from being built with OpenSSL support. 10 Oct 2015.
- ====
- --- Dev.14 --- ====
- Trying to build C-Kermit on Red Hat RHEL6 it failed at link time
- because it couldn't find libncurses. It was really hard to track this
- one down because all the symptoms were totally misleading. The real
- problem was that ncurses.h was not installed on the system, and the
- elaborate checking in the linux targe of the makefile didn't allow for
- the case when the libraries were installed but the header file not.
- After fixing the makefile it compiles and links correctly without
- curses support. Also fixed a large number rule lines that started with
- spaces in stead of Tab. makefile, 17 Dec 2015.
- NOTE FOR DOCS: If C-Kermit builds silently but the result has no curses
- support, it means that lib[n]ncurses is missing OR [n]curses.h is missing.
- There should be a way to issue a message from the makefile but I couldn't
- find it (echo, @echo, etc, none of them worked).
- ====
- Patches from Bernard Spil for LibreSSL: "Currently Kermit fails to
- build when openssl libraries have been built without SSLv3 are used
- (configure --no-ssl2 --nossl3). This has surfaced when building with
- the latest LibreSSL 2.3. In addition, there are issues with LibreSSL as
- it does not support SSL compression nor perl EGD as entropy source.
- Attached patches address all these issues. These can be improved upon
- by using only SSLv23_ methods or even TLS_ methods and setting
- SSL_CTX_set_options(ctx, SSL_OP_NO_SSL2 | SSL_OP_NO_SSL3) but I've
- tried to make the patches minimally intrusive. OpenSSL 1.1.0 will
- deprecate SSLv23_ methods and introduces compatible TLS_ methods."
- ckssl.h, ck_ssl.h, ck_ssl.c, ckcftp.c, ckupty.c. Built OK on NetBSD
- 6.1.5 with OpenSSL 1.0.1e and Linux RHEL6.6 with 1.0.1k, and also on
- both without SSL selected, but with some warnings; in functions
- 'tls_is_anon' and 'tls_is_krb5': "assignment discards qualifiers from
- pointer target type".
- Updated dates and Dev number, ckuus5.c, ckcmai.c. ====
- --- Dev.15 --- ====
- Mark Sapiro noticed that "OK" is no longer a valid IF condition (it was
- a synonym for SUCCESS), which is true; I removed it years ago because
- of some conflict but didn't make a note of it, can't remember the
- reason, but IF OK still showed up in HELP IF. Removed it in ckuus2.c,
- and put a new version of the iftest script in the script library. 31
- Dec 2015. ====
- Made a new "linux" target for the makefile. Kept the previous one
- available as "linux-2015". The feature tests in the old one looked for
- libraries in specific places, like "if test -f
- /usr/lib64/libncurses.so.5" which is stupid because there is an endless
- number of places where Linux packagers will dream up to put them,
- especially for multiarchitecture distributions. Well, who really knows
- where the libraries are, and what the library search path is? ld,
- right? So now instead of looking in 20 different places for (say)
- libncurses under several different names, we just ask ld if it can find
- it and if so -- and if we also can identify the corresponding header
- file (if any) -- then we set the appropriate HAVE_BLAH feature flags.
- makefile, 18 Jan 2016. ====
- Updated copyright year to 2016. ckcmai.c, 18 Jan 2016. ====
- --- Dev.16 --- ====
- I discovered that the CHANGE command didn't work on Linux. This opened
- a whole big can of worms, read on...
- CHANGE command failed on platforms like Linux where fputs() did not
- return 0 on success. Fixed in ckuus6.c, 29 Jan 2016.
- But after this fix it still didn't work if I did not have en
- environment variable defined that said what directory to use for
- temporary files because the \v(tmpdir) variable was not falling back
- correctly. In Unix, first it tried the environment variables CK_TMP,
- TMPDIR, TEMP, and TMP, in that order, and if nothing turned up it tried
- /tmp/. Then if the resulting value doesn't end in a directory
- separator, one is tacked on. There were a couple mistakes in the code
- causing the /tmp/ part to be skipped, and tacking '/' onto the null
- string, thus setting the temporary directory to be the root directory,
- resulting in big trouble when writing temporary files, e.g. in the FTP
- GET command, the CHANGE command, who knows what else. Fixed in
- ckuus4.c, 29 Jan 2016.
- Another problem with this was that the temporary directory might be
- referenced before it was defined, e.g. in an FTP GET command. Remedied
- by "invoking" \v(tmpdir) before any commands are processed. ckcmai.c,
- 29 Jan 2016.
- And Yet Another Problem was that the SET TEMP-DIRECTORY command simply
- did not work. Plus it didn't store its argument as a full pathname, so
- it would not work after the user CD'd to someplace else. ckuus3.c, 29
- Jan 2016.
- A related problem was that IF WRITEABLE didn't work when given a
- directory name. Fixed in ckufio.c, 29 Jan 2016.
- Another problem was that there was no SHOW TEMP-DIRECTORY command.
- Every SET should have a SHOW. Fixed in ckuusr.h, ckuusr.c, 29 Jan 2016.
- Updated HELP SET TEMP-DIRECTORY text. ckuus2.c, 29 Jan 2016.
- Added TMP-DIRECTORY as an invisible synonym for TEMP-DIRECTORY in the
- SET and SHOW commands. ckuusr.c, 29 Jan 2016. ====
- Added a /DESTINATION:directory switch for CHANGE. Some problems I had
- doing this revealed an error in domydir()... For reasons too hard to
- explain the DIRECTORY command sets a global flag "diractive" to let the
- command parsing routine cmifi2() know that a DIRECTORY command is in
- progress, and therefore to do some special things in that case when a
- wildcard expansion includes directory names. Later on I added TOUCH and
- CHANGE commands to domydir(), because writing separate routines would
- have meant duplicating tons of code. BUT... The "diractive" flag should
- NOT be set when the command is TOUCH or CHANGE. Once that was fixed,
- the rest was pretty straightforward. ckuus6.c, 1 Feb 2016. ====
- Added a /BACKUP:directory switch for CHANGE. ckuus6.c, 1 Feb 2016. ====
- In adding the /BACKUP switch, something caused a core dump when using
- /MODTIME:PRESERVE, a bad value in the "generic permissions" field of
- the zsattr struct when going to copy the modtime and perms from the
- original file to the backup file. It's because I wasn't initializing
- all the struct members. I changed zsattr() to defend itself against
- out-range-values, clarified the calling convenstions for zstime() in
- the opening comments (if you are not setting attribute blah, then set
- blah.len = 0 in the argument struct), and I fixed the struct
- initializations in the calling code. ckuus6.c, ckufio.c, 2 Feb 2016.
- ====
- We have always had DIRSEP and ISDIRSEP macros for referring to
- directory separators in the code, e.g. '/' for Unix, ':' for AOS/VS,
- '>' for VOS, '\' for OS-9, etc, but we needed a string version, so I
- added STRDIRSEP analogs for each DIRSEP (like "/" for '/') so we could
- use them as arguments to ckindex(), ckstrncat(), etc. ckcdeb.h, 2 Feb
- 2016. ====
- Used STRDIRSEP in the CHANGE code to keep it portable, in case C-Kermit
- is ever built on any non-Unix platform again (WARNING, VMS will still
- require some special code). ckuus6.c, 2 Feb 2016 ====
- Mark Sapiro reported C-Kermit crashing on some platforms but not others
- when evaluating any rounding operation in an S-expression, e.g. (round
- 1.75). My mistake, I had sprintf() writing into a buffer that was too
- short. I know I should use snprintf() but it's not portable and it
- would be a big deal to enumerate all the platforms where it's available
- and where it's not and tailor the code accordingly, so I just made the
- buffer (more than) big enough, barring any misbehaving printf() format
- interpreters. ckround(): ckclib.c, 3 Feb 2016. ====
- Mark Sapiro also noticed that the "localarray" stresstest revealed that
- if an array (say \%a[]) was declared as local in a macro, but the same
- array was NOT declared at any higher level, then the array persisted
- even after the macro returned, instead of disappearing as it should.
- Fixed in popclvl(): ckuus5.c, 3 Feb 2016. ====
- Added __x86_64 to the symbols looked for and displayed by SHOW
- FEATURES. ckuus5.c, 3 Feb 2016. ====
- Added __x86_64 to the symbols looked for when defining CK_64BIT.
- ckcdeb.h, 3 Feb 2016. ====
- Changed definitions of sizes of things (command buffers, packet
- buffers, etc) to be much bigger on 64-bit architectures. This will
- allow bigger script programs, bigger packet buffers (and thus
- conceivably faster file transfers), more macros, more variables, longer
- values of variables, etc. The bigger sizes are dependent on the symbol
- CK_64BIT, which is set in ckcdeb.h based on what it can figure out from
- compiler builtins, header files, etc, but can also be set on the CC
- command line in case ckcdeb.h doesn't pick it up. ckcdeb.h, ckcker.h,
- ckucmd.h, ckuusr.h, 3 Feb 2016. ====
- Removed misleading display of Z_MAXCHAN from SHOW FEATURES because in
- Unix we don't use this symbol; we get the real maximum number of open
- files from sysconf(). ckuus5.c, 3 Feb 2016. ====
- The command "date 29-feb-1996 +1year" failed with "?Base day out of
- range". Fixed in ckucmd.c, 3 Feb 2016. ====
- Added missing "help xmessage" text. ckuus2.c, 3 Feb 2016. ====
- --- Dev.17 --- ====
- Mark Sapiro says Dev.17 segfaults immediately on startup on Ubuntu
- 15.04. Asked him for a debug log. Meanwhile I checked the tarball,
- rebuilt from it, all OK on 64-bit Linux RHEL6 and on 32-bit NetBSD
- 6.1.5. Built on NebBSD 7.0 also, no problem there except a few new
- warnings. Backed off the 64-bit size changes. ckcdeb.h, ckcker.h,
- ckucmd.h, ckuusr.h, 4 Feb 2016. ====
- Fixed four debug() statements that had a string as the final parameter
- instead of a number, noticed by gcc on NetBSD 7. ckuusx.c, ckudia.c, 4
- Feb 2016. ====
- --- Dev.18 --- ====
- Added locale support to \fcvtdate() so month name comes out in the
- desired language in formats where an "English month name" was
- previously returned. Works OK in Red Hat EL6.6, but localized dates
- aren't supported on the other platforms I have access to (Solaris 9,
- various NetBSD versions). As a start, I always use 3-letter short month
- abbreviations, even though some countries might use longer ones. If
- anybody cares about this, they will let me know. But this way, all date
- formats that have textual month names come out in the same format and
- dates in the same format are always the same length. ckucmd.c, 5 Feb
- 2016. ====
- In doing this, I noticed that if I included any command that referenced
- the locale in a kerbang script or any other script invoked on the
- command line, that the locale wasn't used. I moved the initialization
- of the locale a bit higher up in the program start code. ckcmai.c, 5
- Feb 2016. ====
- Added new format code 6 to \fcvtdate() for "dd fullmonthname yyyy
- hh:mm:ss". This prints the monthname from the Locale, or if there is no
- Locale or it is disabled, the full monthname in English. ckucmd.c, 5
- Feb 2016. ====
- Updated locale documentation on the website in locale.html, 5 Feb 2016.
- ====
- As noted, Dev.17 dumped core immediately upon startup on certain 64-bit
- platforms such as Ubuntu 15.04 and Mac OS X 10.11. Since I don't have
- access to these platforms I asked Mark Sapiro to look at the changes I
- made and try to narrow them down. He found that these did the trick:
- --- cku304.17/ckucmd.h 2016-02-03 11:28:00.000000000 -0800 +++
- cku304.18x/ckucmd.h 2016-02-04 17:54:33.872465535 -0800 @@ -103,7
- +103,7 @@
- #define HLPBL 100 /* Help string buffer length */
- #ifdef BIGBUFOK
- #ifdef CK_64BIT
- -#define ATMBL 163808 /* Command atom buffer length */ +#define ATMBL
- 20470 /* Command atom buffer length */
- #else
- #define ATMBL 10238 /* Command atom buffer length */
- #endif /* CK_64BIT */
- @@ -122,7 +122,7 @@
- #else
- #ifdef BIGBUFOK
- #ifdef CK_64BIT
- -#define CMDBL 8388608 +#define CMDBL 65500
- #else
- #define CMDBL 32763
- #endif /* CK_64BIT */
- So I put back my changes from to ckcdeb.h, ckcker.h, ckucmd.h, and
- ckuusr.h, from Feb 3, and then made the adjustments just above. I
- suspect the segfaults occurred when a bunch of these very large buffers
- were malloc'd in cmsetup() upon program startup. Time will tell if the
- new values are safe. ckucmd.c, 5 Feb 2016. ====
- --- Dev.19 --- ====
- I got a report that the photogallery script could not create files in
- Mac OS X. Sure enough, C-Kermit 9.0.304 got an error every time it
- tried to create a file. This happened in both zchko() ("check if file
- can be created") and in zopeno() ("open file for output"), whichever
- was called first, even though the code in these routines had not
- changed, probably in decades. I couldn't take a debug log either
- because that required opening a file. The user who reported the problem
- discovered that if she created the desired file first outside of
- Kermit, then Kermit could open it for output. It seems that ever since
- 1985, I have been calling open() with just O_WRONLY. Evidently that's
- not good enough any more in recent Mac OS X releases; experimentation
- shows I have to use O_WRONLY|O_CREAT, but then I also have to put
- perms, so I put 0600. I made this change in both zchko() and zopeno().
- Tests OK in Mac OS X 10.10.5, NetBSD 6.1.5, Solaris 9, and Linux
- RHEL6.6. ckufio.c, 16 Feb 2016. ====
- --- Dev.20 --- ====
- \fcvtdate(string,code)... code is a number or a variable with an
- integer value. Function args that must be numeric can be given as macro
- names without the \m(xxx) notation, i.e. just xxx, but that didn't work
- with \fcvtcate():
- for i 1 6 1 { echo \m(i). \fcvtdate(,i) }
- Now it does. ckuus4.c, 23 Mar 2016.
- Fixed HELP SEXP to also show ROUND with optional second argument.
- ckuus2.c, 24 Apr 2016. ====
- There was no way to print stuff within S-Expression code, so I added an
- ECHO command that takes any number of arguments to be printed in
- series, but unlike the mainline ECHO command, this one evaluates each
- element in its argument list as an S-expression, or if it is not an
- S-Expression, then as a macro. Literal strings and Kermit backslash
- items (variables, function calls) must be entered as Lisp quoted
- strings:
- (echo '(\fupper(abcdefg)))
- which prints "ABCDEFG".
- This example shows how Kermit code can be transformed to all Lisp:
- define a three plus four is
- define b 3
- define c 4
- increment b c
- echo \m(a) \m(b)
- Results in "three plus four is 7". The more-compact all-Lisp version
- gives the same result:
- (setq b 3 c 4)
- (echo '(three plus four is) (+ b c))
- Thus the main utility of the S-expression ECHO directive is to be able
- to print macro named variables (i.e. variables whose names don't start
- with backslash) without enclosing them in \m(). Or to put it another
- way, to be able to write LISP code that prints results in regular Lisp
- syntax without having to leave the Lisp environment. ckuus3.c, 25 Apr
- 2015. ====
- Added UNQUOTE command to deal with Lisp string constants like:
- '(this is a string)
- so they can be echoed without the syntax, or exported into Kermit land.
- Also fixed bug where dosexp() could return a previous value if the
- current one was empty. ckuus3.c, 26 Apr 2016. ====
- .................... The following notes are from April 27, 2016...
- Apparently I was in the middle of SEXP work and got distracted.
- ....................
- Fixed the ECHO command to always do unquoting itself, so UNQUOTE is
- only necessary for things like creating a string valued variable in
- Lisp that can be referenced in the Kermit domain:
- (setq a (unquote '(This is a Lisp string constant)))
- show macro a
- This is a Lisp string constant
- We still need the inverse of Unquote, say REQUOTE or DOQUOTE or
- ADDQUOTE or IMPORT, whose argument is a variable containing a Kermit
- string, which returns the equivalent Lisp string. Like QUOTE, but
- evaluates the operand first.
- The sexp torture test still runs correctly.
- Meanwhile I think there is a lot of redundant or unused code in
- dosexp().
- Explanation for docs:
- Everything in an S-Expression is an operator, a variable name, a
- numerical constant, or a string constant. Strings in Lisp are
- represented as '(contents of string). The ECHO operator understands
- these and outputs them without the syntax, but it also understands
- regular Kermit strings, so you can use Kermit variables
- Kermit variables that start with backslash like \%a, \v(date), etc,
- don't look like Lisp variables so they have to be quoted: (echo '(\%a)
- '(\v(date)))
- Now do we need other string functions like CAR, CADDR, and CONCAT?
- (End of April 27, 2016, notes) .................... ====
- April 19, 2017: Coming back to the code after a year of not touching
- it. If there are still any C-Kermit users out there, they don't seem to
- have any issues. Nevertheless, I do believe there are problems with the
- OpenSSL support. But I'm really not qualified or equipped to deal with
- them. ====
- Updated Dev version and dates, plus added comments about how to do
- this. ckcmai.c, 27 Apr 2016. ====
- Updated makefile dates. makefile, 27 Apr 2016. ====
- It was bothering me that in Unix, you can't pipe a command or shell
- script to the kind of Kermit script that is designed to read from a
- file whose name specified on the command line; that is, that has an
- FOPEN /READ command in it. If FOPEN had a way to "open" standard input,
- then if no filename was given on the command line, FOPEN could
- accommodate:
- if defined \%1 fopen /read \%c \%1
- else fopen /stdin \%c
- if fail ...
- So using this code, you can run a script "averages" in either of two
- ways:
- average list # The 'list' file contains a list of numbers
- someprogram | average # 'someprogram' outputs a list of numbers
- To see the C-Kermit changes search for "stdin" (case-independent) in
- ckuus7.c. It's not super-elegant, codewise, but I didn't want to
- totally redesign the data structures. Nothing was done for stdout or
- stderr, but they could follow the same path if there's ever a need.
- UNIX only for now, but could probably be adapted to VMS or Windows
- without much trouble. ckcker.h, ckuus2.c, ckuus7.c, 19 Apr 2017. ====
- Added switches for GETC... GETC /TIMEOUT:sec (so as not to have to SET
- ASK-TIMER before and after), /QUIET (so as not to see "?Timed out"
- message), and GETC /CHECK to see if anything is waiting to be read in
- the standard input stream (what it actually does is checks to see if
- stdin is a terminal; normally it won't have anything waiting if it is,
- and if it isn't, that means stdin is being piped to C-Kermit (or, more
- usefully, a C-Kermit script). This way a script can be written that can
- read its input from a disk file whose name is given on the command
- line, or have its input piped from another program, and still be able
- to give a usage message if no filename was given and nothing was piped.
- ckuus6.c, ckuus2.c, 21 Apr 2017. ====
- Here is sample code for a script:
- if defined \%1 { # filename given on command line
- fopen /read \%c \%1
- if fail exit 1
- } else { # No command-line argument given
- fopen /stdin \%c
- if fail exit 1 # Open failed (shouldn't happen)
- getc /check # Check if stdin is redirected.
- if fail exit 1 \m(usage) # If not exit with usage message.
- }
- For this purpose, it turns out that IF NOT BACKGROUND works just as
- well as GETC /CHECK followed by IF FAIL. IF BACKGROUND is true not only
- if the program is running in the background, but also if its standard
- input is a pipe. ====
- --- 9.0.304 Dev.21 --- ====
- Fixed \fcode() to not throw errors if given an empty string (or nothing
- at all) as an argument. ckuus4.c, 22 Apr 2017. ====
- In the parser for DO command (macro invocation)... Prior to C-Kermit
- 9.0.304 Dev.22, cmtxt() was called in all cases with zzstring. But this
- fouled up the identification of macro arguments when their values
- contained grouping characters such as doublequotes and braces. I
- changed the cmtxt() evaluation function pointer from zzstring to NULL,
- so we get a correct list of arguments, and then changed xwords (which
- was a big mess) to evaluate each one. I made a new evalmacroargument()
- routine for this, because xwords() needed to do this in about five
- places. ckuusr.c, ckuus5.c, 24 Apr 2017. ====
- The resulting Kermit program had big problems running production
- scripts, so the next few edits are to aid in tracking them down.
- Added HAVE_SPRINTF macro to ckcdeb.h so we can use sprintf() safely in
- conditionals. True for Linux, Mac OS X, and *BSD but others can be
- added easily. ckcdeb.h, 25 Apr 2017. ====
- Added a new routine newerrmsg(s); that prints an error message, and if
- it's from a command file, it shows the line number where the command
- started and the first part of the command (hence the need for
- snprintf(), to make the assembled message fit on one line). While
- working on xwords() I realized that the whole big mess was totally
- unnecessary now that I have the cksplit() C-Kermit library function, so
- I replaced the mess (or at least the "if (macro)" parts of it) with a
- single ckpslit() call. ckuusr.c, ckuus5.c, 25 Apr 2017. ====
- newerrmsg() reveals that that the new "Definition is circular or too
- deep" errors are at the beginning of FOR and WHILE loops, but the loops
- still sort of work. This almost certainly is because FOR and WHILE are
- internally defined macros that have not been passed through command
- parser. Debugging continues...
- Fixed a bad debug() statement in the FOPEN (or FREAD?) code that was
- added in Dev.21 that could cause segfaults on certain platforms.
- ckuus7.c, 26 Apr 2017. ====
- Fixed a bug in cksplit(), it wasn't filling the notsep[] string array,
- which could have affected CSV, TSV, or ALL include sets. ckclib.c, 26
- Apr 2017. ====
- When used for macro arguments, cksplit() was using '\' as a quote
- character, and thus variable names were not being recognized. I added a
- new cksplit() argument for this, and it works, but now cksplit doesn't
- split the string into words. That was because 'while (c = *ss++ &&
- !flag)' should have been 'while ((c = *ss++) && !flag)', now it is, all
- OK, except it didn't set the macro arguments. This goes back to when I
- decided to allow any number of macro args, instead of just 10, and
- created the macro argument vector \&_[]. For arguments 1-9, you also
- have to do addmac() for each argument, which I did. Really there should
- not be duplicate lists, but that's for another day. ckclib.c, 26 Apr
- 2017. ====
- The FOR, WHILE, IF, and SWITCH commands are defined in ckuus5.c like
- this:
- /* WHILE macro */
- char *whil_def[] = { "_assign _whi\\v(cmdlevel) {_getargs,",
- ":_..inc,\\%1,\\%2,goto _..inc,:_..bot,_putargs},",
- "_define break goto _..bot, _define continue goto _..inc,",
- "do _whi\\v(cmdlevel),_assign _whi\\v(cmdlevel)",
- ""};
- It seemed to me that the easiest way to fix the problem with the
- built-in macros would be parse them the same way they were parsed
- before. I moved the internal-macro check to a routine,
- isinternalmacro(). It works by checking the macro name. We have to
- stick to the discipline that internal macros have names starting with
- '_' followed by 3 unique characters. For WHILE the "master macro" is
- '_while', and the generated macros are _whi2, whi3, etc, where the
- number indicates the execution stack level (so we can have nested
- loops). ckuus5.c, ckuusr.c, 27 Apr 2017.
- Then in ckuusr.c where the cmtxt() call was changed to not use
- zzstring, put the zzstring call back if it's an internal macro, in
- theory undoing the original change to dodo() but only for internal
- macros. After some serious juggling of the quoting levels in the
- internal WHILE macro definition, it worked. At least for my test
- script, and for the HTML script. ckuus5.c, ckuusr.c, 27 Apr 2017.
- Now to fix the other internal macro definitions... I fixed foz_def (the
- macro to use when the loop variable is a macro rather than a \%x
- variable), now it works too. ckuus5.c, 27 Apr 2017. ====
- A problem with FOR was noted where the loop variable disappears inside
- the loop: "for \%i 99 99 1 { echo [\%i] }" printed "[]" instead of
- "[99]". Fixed by adjusting the quoting in for_def. ckuus5.c, 28 Apr
- 2017.
- The IF command (also implemented as an internal macro) was adjusted the
- same way. ckuus5.c, 28 Apr 2017.
- The next problem comes up when running the text-to-html script on this
- update notes file: it gets errors like
- "?<ERROR:MISSING_ARG:\farraylook()>". This problem was not in Kermit
- but in the script: \m(line) was being passed as an argument to a macro,
- and the line contained the string "\farraylook()". The argument is seen
- as \%1 from the macro's point of view and therefore evaluated
- recursively. The solution is to refer to this argument as
- \fcontents(\%1). No wonder the Kermit programming never caught on! I
- forgot about this, even though it was standard advice for (for example)
- passing Windows pathnames as arguments to macros. Anyway, with this
- change the html script runs without complaint and productes the correct
- result. April 28, 2017.
- But running other long, complex production scripts, a new problem came
- up: when a macro passes one (or more) of its arguments to another
- macro, the other macro gets an empty value for it. dodo():
- . Makes a new macro level (maclvl) and a new command level (cmdlvl).
- . Initializes the new cmdlvl stack frame.
- . Initializes the return value for this level to NULL.
- . Deletes any old macro arguments (\%1-\%9) at this level.
- . Calls xwords() to get the new argument list.
- Suppose macro A has been called with an argument \%1, and then invokes
- macro B with that same argument. Macro B gets "\%1" rather than the
- value of \%1, but since it is at a new level, \%1 does not have a
- value. Previously, these variables were evaluated in docmd() case XXDO,
- before dodo() was called, therefore they received the values from level
- where the macro was invoked. Now they are evaluated after dodo() starts
- a new macro level, but in the new level zzstring() doesn't find any
- definitions for the \%1-9 variables. The solution is not exactly
- elegant:
- maclvl--;
- evalmacroarg(&p);
- maclvl++;
- but it's the only safe way to do it, because it is only in this place
- that we know that (say) \%1 is on the macro invocation's argument list
- and not in some other context. ckuus5.c, 29 Apr 2017. ====
- The SWITCH command internal macro definition needed another adjustment.
- ckuus5.c, 30 Apr 2017.
- In running the suite of script-language torture tests, most of them
- (the ones published on the website) give the same results in previous
- and new C-Kermit. An incompatibility was noted in the 'demo' script:
- ask \%x { Type 3 numbers separated by spaces or an empty line to quit: }
- if not def \%x break
- smallest \%x
- In old Kermit, the 'smallest' macro saw three arguments; the new Kermit
- sees only one. I think the old behavior was too much magic; the new
- behavior is proper. From now on, if you want a macro to receive 3
- arguments, you'll have to call it with three arguments. Or recode the
- macro to \fsplit() any compound arguments.
- The S-Expression torture test gets errors now that it didn't before,
- but the errors are correct: e.g.
- ?Not defined - "c"
- ?sexp[37]: "(++ a 1 b 1 c 1 d)": Syntax error'
- ?Too few operands - "/ 2"
- ?sexp[110]: "(/ 2) ----} - c a)) t2 t1)..."
- ?Too few operands - "++"
- ?sexp[189]: "(++) ate result) f (objective \%1) ..."
- Added FOPEN /STDOUT and FOPEN /STDERR. This allows a Kermit script to
- be fully pipeable. A minor wrinkle here was to not actually close any
- of these if the script contained an FCLOSE for them. ckcker.h,
- ckuus[27].c, 30 Apr 2017. ====
- --- 9.0.304 Dev.22 --- ====
- CHANGE /COUNT:variablename always set variable to 0 or 1, where it
- should have set it to the number of changes that it made. Diagnosis: it
- was sharing too much code with DIRECTORY /COUNT. Fixed in ckuus6.c, 8
- May 2017. ====
- Fixed Lisp (ROUND -5.6666 2), it was losing the minus sign (result 5.67
- instead of -5.67). ckcklib.c, 19 July 2017. ====
- \fpictureinfo(s[,&a]) apparently never has worked for getting the
- orientation of a JPG that comes straight out of a camera (or certain
- cameras). The reason I never noticed this is that I almost always run
- every image in a gallery through Photoshop first. Kermit only looks at
- the ImageLength (i.e. height) and ImageWidth Exif items, but in the
- camera's files they are the same for all orientations; the actual
- orientation is given by the Exif Orientation tag. Photoshop uses this
- to orient the picture properly when loading it, and sets the width and
- height correctly on writing it out.
- But there is nothing Kermit can do about this; even if I could figure
- out how to find the Orientation tag, what would I do with it?
- Eventually it dawned on me that the right place to handle this (to fix
- the problem when it occurs in the Photogallery script) was on on the
- Imagemagick command line. Simply adding -auto-orient did the trick.
- Photogallery 2.14, 21 Jul 2017. No changes to Kermit.
- Added a new option to \freplace(): a 5th argument specifying "word
- mode", meaning that the target string will be replaced only if it's a
- "word", i.e. surrounded by whitespace or punctuation, etc, so as not
- avoid the case where the target word happens to also be a substring of
- other words. For example, changing the word "a" to the word "the"
- without changing all the other letter a's to "the". That would be
- simple enough but I also wanted to handle things like replacing "--" by
- — and "..." by … (for the html-to-text script). Added 4
- new routines -- isalphanum(string), cisalphanum(char),
- nonalphanum(string), cnonalphanum(string) -- which the \freplace() code
- uses to check the context of the target string. All of the new code is
- in #ifdef RPLWORDMODE..#endif, so can easily be deselected if
- necessary. ckuus[24].c, 5-7 Oct 2017. ====
- Simplified "hints" given after a GET command failed. ckuus5.c, 8 Oct
- 2017. ====
- CHANGE command: Got rid of the the "Would create temp file" message, it
- overwhelms all the other feedback. ckuus6.c, 10 August 2018. ====
- Changed copyright year to 2018. ckcmai.c, 10 August 2018. ====
- It was annoying me that constructions like:
- if \findex(not rated,\m(line)) {
- .line := \freplace(\m(line),not rated,sin ranking)
- }
- failed with a message like "?<ERROR:MISSING_ARG:\findex()>". This has
- been the case forever. The standard advice was to work around in ways
- like this:
- .x := \findex(not rated,\m(line))
- if x .line := \freplace(\m(line),not rated, sin ranking)
- or:
- if \findex(not\32rated,\m(line)) {
- .line := \freplace(\m(line),not rated, sin ranking)
- }
- or:
- .notrated = not rated
- if \findex(\m(notrated),\m(line)) {
- .line := \freplace(\m(line),not rated, sin ranking)
- }
- The IF command expects a keyword, a symbol, a number, or a "field", and
- therefore breaks on the first space. This is not a problem only with
- the IF command, nor only with the \findex() function; the same thing
- happens in any context where a "word" is expected and you include a
- \function() invocation that has spaces in its argument list. A
- universal fix was required at the very deepest level of the command
- parser: a state machine that recognizes function calls and prevents any
- blanks contained in their argument lists from triggering a premature
- word break. Now you can write function calls consistently in any
- context, no matter whether they contain spaces or not. The new code was
- added to gtword() and setatm() in ckucmd.c, enclosed in #ifdef
- FUNCTIONTEST..#endif, which is defined at the top of the file. 3-4
- September 2018. By the way, doing this revealed significant unnecessary
- duplication of effort between gtword() and setatm(), not worth fixing
- at this late date. ====
- --- 9.0.304 Dev.23 4 Sep 2018 --- ====
- I've been using this version myself for 16 months with a lot of
- heavy-duty scripting, so after making sure it still builds on Red Hat
- 6.10 and NetBSD 8.1, I installed it on the FTP server and announced it.
- - 31 January 2020 ====
- The cmcvtdate() routine in ckucmd.c has been there since 2000 (C-Kermit
- 7.0); its purpose is to parse free-format date-times (possibly
- including offests and/or timezones) and convert them into canonical
- local-timezone date-times. It's used by the DATE command and also by
- any other command than can parse date-times, and by the script language
- \fcvtdate() function. Among the many formats I thought it was supposed
- to understand is the one used in Apache weblogs: yyyy:mm:dd:hh:mm:ss.
- Apparently this has never worked. I changed cmcvtdate() (and thus the
- DATE command and the \fcvtdate() function) to preprocess its argument
- and strip the colons from any dates in this format before proceeding. -
- ckucmd.c, ckcmai.c, 25 Apr 2020. ====
- Under certain circumstances, the CHANGE command could cause a
- segmentation fault. Diagnosis: a variable (k) was referenced
- (incremented) before it was initialized. - domydir(), ckuus6.c, 26
- April 2020. ====
- --- 9.0.304 Dev.24 25 Apr 2020 -- ====
- Emergency C-Kermit release because GNU changed the name of a symbol
- from "__FILE_defined" to "__FILE_defined", thus breaking C-Kermit
- builds on all platforms (like Debian and Ubuntu) that use glibc.
- ckucmd.c, ckcmai.c.
- --- 9.0.305 Alpha.01 24 Jul 2020 --
- :END: ---------------------------------
- **************************
- [[20]Go to top]
- __________________________________________________________________
- ckupdates.html: 20200131 11:26:59 ... Text to html by Kermit [21]html
- script 3.03
- References
- 1. file:///net/u/1/f/fdc/kermit/ckupdates.html#bottom
- 2. ftp://ftp7.usa.openbsd.org/pub/os/OpenBSD/3.3/i386/
- 3. http://freshmeat.net/articles/view/709/
- 4. http://www.ece.utexas.edu/~luo/linux_lfs.html
- 5. http://devrsrc1.external.hp.com/STK/partner/lg_files.pdf
- 6. http://wwws.sun.com/software/whitepapers/wp-largefiles/largefiles.pdf
- 7. http://zssh.sourceforge.net/
- 8. http://kermit.columbia.edu/security.html
- 9. http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3767)
- 10. http://www.columbia.edu/kermit/ftp/test/tar/x.zip
- 11. http://www.mseclab.com/?p=180
- 12. http://www.theregister.co.uk/2009/07/30/universal_ssl_certificate/
- 13. http://tim.sneddon.id.au/blog/Posts/C-Kermit_for_Android
- 14. http://www.oldsite.com/
- 15. http://www.newsite.com/
- 16. https://wiki.debian.org/Multiarch/Implementation
- 17. https://wiki.ubuntu.com/MultiarchSpec
- 18. https://wiki.debian.org/Multiarch/HOWTO
- 19. https://www.google.com/
- 20. file:///net/u/1/f/fdc/kermit/ckupdates.html#top
- 21. http://kermitproject.org/html.html
|