From 75aececd6b689ef16c690e5c32c8320a16a7ef4a Mon Sep 17 00:00:00 2001 From: Alexey Khromov Date: Sun, 9 Jun 2024 15:27:55 +0300 Subject: [PATCH] Added test script for PSTN protocols --- CHANGES | 3 + source/.version | 2 +- tests/configs/00010001.cut | Bin 0 -> 19516 bytes tests/configs/00010001.mo0 | Bin 0 -> 9529 bytes tests/configs/00010002.cut | Bin 0 -> 10512 bytes tests/configs/00010002.mo0 | Bin 0 -> 5719 bytes tests/configs/bforce.conf | 199 ++++++++++++++++++++++++++++ tests/configs/bforceA.conf | 202 +++++++++++++++++++++++++++++ tests/configs/bforceB.conf | 202 +++++++++++++++++++++++++++++ tests/configs/genpkt.sh | 6 + tests/configs/msgAtoB/666593c4.pkt | Bin 0 -> 10512 bytes tests/configs/msgBtoA/666593c6.pkt | Bin 0 -> 19516 bytes tests/configs/testtextA.cp866 | 50 +++++++ tests/configs/testtextB.cp866 | 184 ++++++++++++++++++++++++++ tests/mktests.sh | 95 ++++++++++++++ 15 files changed, 942 insertions(+), 1 deletion(-) create mode 100644 tests/configs/00010001.cut create mode 100644 tests/configs/00010001.mo0 create mode 100644 tests/configs/00010002.cut create mode 100644 tests/configs/00010002.mo0 create mode 100644 tests/configs/bforce.conf create mode 100644 tests/configs/bforceA.conf create mode 100644 tests/configs/bforceB.conf create mode 100755 tests/configs/genpkt.sh create mode 100644 tests/configs/msgAtoB/666593c4.pkt create mode 100644 tests/configs/msgBtoA/666593c6.pkt create mode 100644 tests/configs/testtextA.cp866 create mode 100644 tests/configs/testtextB.cp866 create mode 100755 tests/mktests.sh diff --git a/CHANGES b/CHANGES index a90d1d3..c832af2 100644 --- a/CHANGES +++ b/CHANGES @@ -250,3 +250,6 @@ Alexey Khromov (zx@zxalexis.ru) /etc/services line (as of abscence of latter) + Config example reworked to include new options + New option: emsi_send_tz - to send TZUTC EMSI-handshake part. + +0.25.1 + + Added testing script for PSTN comms (tests folder). \ No newline at end of file diff --git a/source/.version b/source/.version index 7d385d4..af2dabf 100644 --- a/source/.version +++ b/source/.version @@ -1 +1 @@ -0.25 +0.25.1 diff --git a/tests/configs/00010001.cut b/tests/configs/00010001.cut new file mode 100644 index 0000000000000000000000000000000000000000..f88e8ee4ec2f3b26730efa92b01e05c5171650a4 GIT binary patch literal 19516 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 literal 0 HcmV?d00001 diff --git a/tests/configs/00010001.mo0 b/tests/configs/00010001.mo0 new file mode 100644 index 0000000000000000000000000000000000000000..23a015a21b3bae4dfc86ed8e701bbbf9811f890f GIT binary patch literal 9529 zcmZ{qMNk|J(544>cZVRs-5n-`1b26rL4&)yyGw8wbRZDi-Q6{~yTg8eZS7&VYP+lD z@E+e&_oE~W1B(lQ1|R~GTt>7^LN(K(X#fCWIRF3^KnmdH<>e9JGUa7;v~^KeLju6` zC!1URPq})a0H9!xU;qHv<^Ni&k8Ul^lIMn!IOdaa4B#0Cj}ilW`p_zjdS>TePok-i zBPJ2lmshIq&odNgU$uLTCM7d15-9c`>_{&FAU`lV&w)8S?Q zk`0S5Zt9OjvkeSUWo)i1_xg*?onsdc>t5%JANijU-L7A!?hfy^Z4N=|DVcIyV7{nA3myY5!(k7`+;^2g4I?7L2#dTf^4?qlz_gQ^d8 z#8@PQrxvwm(4)0A2Bmg54KY^Ulm^Z&I>0yY%p|QRb?)l;kXS=zNyycT`NO<{h2btf z$rA4n*kNN)|51B#pJ!(vK$&a_( z=Cy>OUD)L`v>$d-83}28`Z5XhUm%0D2C_SPrjxC4f*{MR>y>eyypL5NoYN;xvvVZ_ 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 N{5NO*1Ec_e{{?`+dmI1& literal 0 HcmV?d00001 diff --git a/tests/configs/00010002.cut b/tests/configs/00010002.cut new file mode 100644 index 0000000000000000000000000000000000000000..9b636af0fdbf74ddbabbf55026ec3edb7ea3bda6 GIT binary patch literal 10512 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 A=Kufz literal 0 HcmV?d00001 diff --git a/tests/configs/bforce.conf b/tests/configs/bforce.conf new file mode 100644 index 0000000..cb7ec6d --- /dev/null +++ b/tests/configs/bforce.conf @@ -0,0 +1,199 @@ +address 99:1/1@testzone +options NoDirZap NoJanus NoChat +proto_order ZMO,ZAP,HYD,SLK,KER,DZA,JAN,TZA +#domain medianet /var/spool/ftn/medianet/ 776 +#domain schoolnet /var/spool/ftn/schoolnet/ 461 +log_file %TESTZONE%/logsA/bf-log +debug_file %TESTZONE%/logsA/bf-debug +debug_level modem hshake event freq prot +nodial_flag %TESTZONE%/etc/nodial +inbound_directory (Protected) %TESTZONE%/inboundA +inbound_directory %TESTZONE%/inbound-unsecureA +# incnet_flag %TESTZONE%/flags/toss +# incarc_flag %TESTZONE%/flags/toss +outbound_directory %TESTZONE%/outboundA +#amiga_outbound_directory /var/spool/fido/bt/out +nodelist_directory %TESTZONE%/nodelist +status_directory %TESTZONE%/logsA +history_file %TESTZONE%/historyA +#min_speed_in 1200 +#min_speed_out 1200 +#session_limit_in 1800 +#session_limit_out 1800 +#min_cps_time 120 +# min_cps_recv (2:5020/1398) 2100 +# min_cps_recv (2:5020/1682) 3000 +# min_cps_recv (2:5020/1811) 1400 +zmodem_mincps_recv 300 15 +zmodem_mincps_recv 1200 90 +zmodem_mincps_recv 2400 120 +zmodem_mincps_recv 4800 240 +zmodem_mincps_recv 7200 360 +zmodem_mincps_recv 9600 480 +zmodem_mincps_recv 12000 600 +zmodem_mincps_recv 14400 720 +zmodem_mincps_recv 16800 840 +zmodem_mincps_recv 19200 960 +zmodem_mincps_recv 21600 1080 +zmodem_mincps_recv 23600 1180 +zmodem_mincps_recv 24000 1200 +zmodem_mincps_recv 26400 1320 +zmodem_mincps_recv 28800 1440 +zmodem_mincps_recv 31200 1600 +zmodem_mincps_recv 33600 1700 + +zmodem_mincps_send 300 15 +zmodem_mincps_send 1200 90 +zmodem_mincps_send 2400 120 +zmodem_mincps_send 4800 240 +zmodem_mincps_send 7200 360 +zmodem_mincps_send 9600 480 +zmodem_mincps_send 12000 600 +zmodem_mincps_send 14400 720 +zmodem_mincps_send 16800 840 +zmodem_mincps_send 19200 960 +zmodem_mincps_send 21600 1080 +zmodem_mincps_send 23600 1180 +zmodem_mincps_send 24000 1200 +zmodem_mincps_send 26400 1320 +zmodem_mincps_send 28800 1440 +zmodem_mincps_send 31200 1600 +zmodem_mincps_send 33600 1700 + +hydra_mincps_recv 300 15 +hydra_mincps_recv 1200 90 +hydra_mincps_recv 2400 120 +hydra_mincps_recv 4800 240 +hydra_mincps_recv 7200 360 +hydra_mincps_recv 9600 480 +hydra_mincps_recv 12000 600 +hydra_mincps_recv 14400 720 +hydra_mincps_recv 16800 840 +hydra_mincps_recv 19200 960 +hydra_mincps_recv 21600 1080 +hydra_mincps_recv 23600 1180 +hydra_mincps_recv 24000 1200 +hydra_mincps_recv 26400 1320 +hydra_mincps_recv 28800 1440 +hydra_mincps_recv 31200 1600 +hydra_mincps_recv 33600 1700 + +hydra_mincps_send 300 15 +hydra_mincps_send 1200 90 +hydra_mincps_send 2400 120 +hydra_mincps_send 4800 240 +hydra_mincps_send 7200 360 +hydra_mincps_send 9600 480 +hydra_mincps_send 12000 600 +hydra_mincps_send 14400 720 +hydra_mincps_send 16800 840 +hydra_mincps_send 19200 960 +hydra_mincps_send 21600 1080 +hydra_mincps_send 23600 1180 +hydra_mincps_send 24000 1200 +hydra_mincps_send 26400 1320 +hydra_mincps_send 28800 1440 +hydra_mincps_send 31200 1600 +hydra_mincps_send 33600 1700 +# +mode_default 100666 +mode_arcmail 100666 +mode_netmail 100666 +mode_request 100666 + +#modem_port /dev/ttyUSB0:57600 +modem_reset_command ATE0M0| +modem_dial_prefix ATDT +modem_dial_suffix | +modem_hangup_command v~^~ATH0| +#modem_stat_command AT%S| +#modem_stat_command AT| +modem_stat_command AT&V1| +modem_dial_response "CONNECT" connect +modem_dial_response "BUSY" busy +modem_dial_response "NO CARRIER" nocarrier +modem_dial_response "NO DIAL" nodialTone +modem_dial_response "NO ANSWER" noanswer +modem_dial_response "VOICE" noanswer +modem_dial_response "ERROR" error + +nodelist NODELIST.999 *:*/*.0 + +#nodelist 450_256.pnt 2:450/256.* +#nodelist easynet.ndl 20:26/*.0 +#nodelist *:*/*.* + +phone_translate 7-813-78 +phone_translate 7- 8 +#phone_translate 375- 8 + +system_name TestZoneA +location TestZone +sysop_name TestZoneA User +phone -Unpublished- +max_speed 9600 +emsi_OH_time 00:00-24:00 +emsi_FR_time 00:00-24:00 +emsi_send_tz yes +emsi_send_time yes + +recv_buffer_size 65536 + +wait_carrier_out 120 + +#freq_srif_command /usr/local/lib/u-srif/u-srif +freq_alias_list %TESTZONE%/freq.aliases +freq_dir_list %TESTZONE%/freq.dirs +freq_limit_number 10 + +freq_limit_size 6000000 +freq_limit_time 1200 +freq_ignore_masks \\* \\*.\\* \\*.zip \\*.rar \\*.exe \\*.mp3 \\*.avi \\*.mp4 \\*.tgz +#zmodem_skip_by_pos yes +zmodem_send_dummy_pkt no +#zmodem_start_block_size 512 +#zmodem_tx_window 32768 +skip_files_recv *.pif *.swp +#delay_files_recv !%arcmail !%netmail # We will refuse all except mail +#delay_files_send !%netmail # We will send only netmail +#delay_files_recv (2:450/102) !%netmail +#min_free_space 20000 +#recode_file_out /usr/local/fido/etc/koi82alt.tbl +#recode_file_in /usr/local/fido/etc/alt2koi8.tbl + +#run_after_handshake [logout]/bin/echo "Hello, world!" +#run_after_session [nowait,setsid]/usr/local/lib/ftp/run-in +#run_after_handshake [setsid,useshell,logout]/usr/bin/nlookup $REM_ADDR_FTN +#run_after_session [logout,useshell]/usr/bin/hpt toss && /usr/bin/hpt link && /usr/bin/htick toss +#run_after_handshake [setsid,useshell,logout]/usr/bin/nlookup $REM_ADDR_FTN +#filebox_directory /var/spool/fido/bt/fbox + +#filebox /var/spool/ftn/fbox/adb 2:5020/2120.1 hold +#filebox /var/spool/ftn/fbox/pvc 2:5020/2091 normal +#flo_translate C:\\fido\\spool\\outbound /var/spool/ftn/out +#flo_translate \\ / + +maxtries 200 Undialable # Be carefull.. =) +maxtries_noansw 5 Hold 7200 # Call two hours later +maxtries_noconn 40 Hold 10800 # Don't call 3 hours +maxtries_hshake 10 Hold 86400 # 1 day delay +maxtries_sessions 10 Hold 3600 # Don't annoy uplinks +maxtries_nodial 1 Hold 1200 # Call 20 min later + +daemon_circle_modem 40 +daemon_circle_rescan 60 +daemon_circle_normal 80 +daemon_circle_direct 40 +daemon_circle_crash 20 +daemon_circle_immed 10 +daemon_maxclients_tcpip 2 +daemon_maxclients_modem 1 +daemon_pid_file /var/run/bforce.pid + +#syslog_facility 64 +#nomail_flag /home/zx/fido/ftnroot/flags/nomail +#run_before_session /usr/local/bin/call_inet.sh + +recieved_to_lower yes + +# That's all! diff --git a/tests/configs/bforceA.conf b/tests/configs/bforceA.conf new file mode 100644 index 0000000..bef2bd6 --- /dev/null +++ b/tests/configs/bforceA.conf @@ -0,0 +1,202 @@ +address 99:1/1@testzone +options NoDirZap NoJanus NoChat +#proto_order ZMO,ZAP,HYD,SLK,KER,DZA,JAN,TZA +proto_order %PROTO% +#domain medianet /var/spool/ftn/medianet/ 776 +#domain schoolnet /var/spool/ftn/schoolnet/ 461 +log_file %TESTZONE%/logsA/bf-log +debug_file %TESTZONE%/logsA/bf-debug +debug_level modem hshake event freq +nodial_flag %TESTZONE%/etc/nodial +inbound_directory (Protected) %TESTZONE%/inboundA +inbound_directory %TESTZONE%/inbound-unsecureA +# incnet_flag %TESTZONE%/flags/toss +# incarc_flag %TESTZONE%/flags/toss +outbound_directory %TESTZONE%/outboundA +#amiga_outbound_directory /var/spool/fido/bt/out +nodelist_directory %TESTZONE%/nodelist +status_directory %TESTZONE%/logsA +history_file %TESTZONE%/logsA/history + +password 99:1/2 testpwd1 +#min_speed_in 1200 +#min_speed_out 1200 +#session_limit_in 1800 +#session_limit_out 1800 +#min_cps_time 120 +# min_cps_recv (2:5020/1398) 2100 +# min_cps_recv (2:5020/1682) 3000 +# min_cps_recv (2:5020/1811) 1400 +zmodem_mincps_recv 300 15 +zmodem_mincps_recv 1200 90 +zmodem_mincps_recv 2400 120 +zmodem_mincps_recv 4800 240 +zmodem_mincps_recv 7200 360 +zmodem_mincps_recv 9600 480 +zmodem_mincps_recv 12000 600 +zmodem_mincps_recv 14400 720 +zmodem_mincps_recv 16800 840 +zmodem_mincps_recv 19200 960 +zmodem_mincps_recv 21600 1080 +zmodem_mincps_recv 23600 1180 +zmodem_mincps_recv 24000 1200 +zmodem_mincps_recv 26400 1320 +zmodem_mincps_recv 28800 1440 +zmodem_mincps_recv 31200 1600 +zmodem_mincps_recv 33600 1700 + +zmodem_mincps_send 300 15 +zmodem_mincps_send 1200 90 +zmodem_mincps_send 2400 120 +zmodem_mincps_send 4800 240 +zmodem_mincps_send 7200 360 +zmodem_mincps_send 9600 480 +zmodem_mincps_send 12000 600 +zmodem_mincps_send 14400 720 +zmodem_mincps_send 16800 840 +zmodem_mincps_send 19200 960 +zmodem_mincps_send 21600 1080 +zmodem_mincps_send 23600 1180 +zmodem_mincps_send 24000 1200 +zmodem_mincps_send 26400 1320 +zmodem_mincps_send 28800 1440 +zmodem_mincps_send 31200 1600 +zmodem_mincps_send 33600 1700 + +hydra_mincps_recv 300 15 +hydra_mincps_recv 1200 90 +hydra_mincps_recv 2400 120 +hydra_mincps_recv 4800 240 +hydra_mincps_recv 7200 360 +hydra_mincps_recv 9600 480 +hydra_mincps_recv 12000 600 +hydra_mincps_recv 14400 720 +hydra_mincps_recv 16800 840 +hydra_mincps_recv 19200 960 +hydra_mincps_recv 21600 1080 +hydra_mincps_recv 23600 1180 +hydra_mincps_recv 24000 1200 +hydra_mincps_recv 26400 1320 +hydra_mincps_recv 28800 1440 +hydra_mincps_recv 31200 1600 +hydra_mincps_recv 33600 1700 + +hydra_mincps_send 300 15 +hydra_mincps_send 1200 90 +hydra_mincps_send 2400 120 +hydra_mincps_send 4800 240 +hydra_mincps_send 7200 360 +hydra_mincps_send 9600 480 +hydra_mincps_send 12000 600 +hydra_mincps_send 14400 720 +hydra_mincps_send 16800 840 +hydra_mincps_send 19200 960 +hydra_mincps_send 21600 1080 +hydra_mincps_send 23600 1180 +hydra_mincps_send 24000 1200 +hydra_mincps_send 26400 1320 +hydra_mincps_send 28800 1440 +hydra_mincps_send 31200 1600 +hydra_mincps_send 33600 1700 +# +mode_default 100666 +mode_arcmail 100666 +mode_netmail 100666 +mode_request 100666 + +#modem_port /dev/ttyUSB0:57600 +modem_reset_command ATE0M0| +modem_dial_prefix ATDT +modem_dial_suffix | +modem_hangup_command v~^~ATH0| +#modem_stat_command AT%S| +#modem_stat_command AT| +modem_stat_command AT&V1| +modem_dial_response "CONNECT" connect +modem_dial_response "BUSY" busy +modem_dial_response "NO CARRIER" nocarrier +modem_dial_response "NO DIAL" nodialTone +modem_dial_response "NO ANSWER" noanswer +modem_dial_response "VOICE" noanswer +modem_dial_response "ERROR" error + +nodelist NODELIST.999 *:*/*.0 + +#nodelist 450_256.pnt 2:450/256.* +#nodelist easynet.ndl 20:26/*.0 +#nodelist *:*/*.* + +phone_translate 7-813-78 +phone_translate 7- 8 +#phone_translate 375- 8 + +system_name TestZoneA +location TestZone +sysop_name TestZoneA User +phone -Unpublished- +max_speed 9600 +emsi_OH_time 00:00-24:00 +emsi_FR_time 00:00-24:00 +emsi_send_tz yes +emsi_send_time yes + +recv_buffer_size 65536 + +wait_carrier_out 120 + +#freq_srif_command /usr/local/lib/u-srif/u-srif +freq_alias_list %TESTZONE%/etc/freq.aliases +freq_dir_list %TESTZONE%/etc/freq.dirs +freq_limit_number 10 + +freq_limit_size 6000000 +freq_limit_time 1200 +freq_ignore_masks \\* \\*.\\* \\*.zip \\*.rar \\*.exe \\*.mp3 \\*.avi \\*.mp4 \\*.tgz +#zmodem_skip_by_pos yes +zmodem_send_dummy_pkt no +#zmodem_start_block_size 512 +#zmodem_tx_window 32768 +skip_files_recv *.pif *.swp +#delay_files_recv !%arcmail !%netmail # We will refuse all except mail +#delay_files_send !%netmail # We will send only netmail +#delay_files_recv (2:450/102) !%netmail +#min_free_space 20000 +#recode_file_out /usr/local/fido/etc/koi82alt.tbl +#recode_file_in /usr/local/fido/etc/alt2koi8.tbl + +#run_after_handshake [logout]/bin/echo "Hello, world!" +#run_after_session [nowait,setsid]/usr/local/lib/ftp/run-in +#run_after_handshake [setsid,useshell,logout]/usr/bin/nlookup $REM_ADDR_FTN +#run_after_session [logout,useshell]/usr/bin/hpt toss && /usr/bin/hpt link && /usr/bin/htick toss +#run_after_handshake [setsid,useshell,logout]/usr/bin/nlookup $REM_ADDR_FTN +#filebox_directory /var/spool/fido/bt/fbox + +#filebox /var/spool/ftn/fbox/adb 2:5020/2120.1 hold +#filebox /var/spool/ftn/fbox/pvc 2:5020/2091 normal +#flo_translate C:\\fido\\spool\\outbound /var/spool/ftn/out +#flo_translate \\ / + +maxtries 200 Undialable # Be carefull.. =) +maxtries_noansw 5 Hold 7200 # Call two hours later +maxtries_noconn 40 Hold 10800 # Don't call 3 hours +maxtries_hshake 10 Hold 86400 # 1 day delay +maxtries_sessions 10 Hold 3600 # Don't annoy uplinks +maxtries_nodial 1 Hold 1200 # Call 20 min later + +daemon_circle_modem 40 +daemon_circle_rescan 60 +daemon_circle_normal 80 +daemon_circle_direct 40 +daemon_circle_crash 20 +daemon_circle_immed 10 +daemon_maxclients_tcpip 2 +daemon_maxclients_modem 1 +daemon_pid_file %TESTZONE%/run/bforceA.pid + +#syslog_facility 64 +#nomail_flag /home/zx/fido/ftnroot/flags/nomail +#run_before_session /usr/local/bin/call_inet.sh + +recieved_to_lower yes + +# That's all! diff --git a/tests/configs/bforceB.conf b/tests/configs/bforceB.conf new file mode 100644 index 0000000..01dbb4a --- /dev/null +++ b/tests/configs/bforceB.conf @@ -0,0 +1,202 @@ +address 99:1/2@testzone +options NoDirZap NoJanus NoChat +#proto_order ZMO,ZAP,HYD,SLK,KER,DZA,JAN,TZA +proto_order %PROTO% +#domain medianet /var/spool/ftn/medianet/ 776 +#domain schoolnet /var/spool/ftn/schoolnet/ 461 +log_file %TESTZONE%/logsB/bf-log +debug_file %TESTZONE%/logsB/bf-debug +debug_level modem hshake event freq +nodial_flag %TESTZONE%/etc/nodial +inbound_directory (Protected) %TESTZONE%/inboundB +inbound_directory %TESTZONE%/inbound-unsecureB +# incnet_flag %TESTZONE%/flags/toss +# incarc_flag %TESTZONE%/flags/toss +outbound_directory %TESTZONE%/outboundB +#amiga_outbound_directory /var/spool/fido/bt/out +nodelist_directory %TESTZONE%/nodelist +status_directory %TESTZONE%/logsB +history_file %TESTZONE%/logsB/history + +password 99:1/1 testpwd1 +#min_speed_in 1200 +#min_speed_out 1200 +#session_limit_in 1800 +#session_limit_out 1800 +#min_cps_time 120 +# min_cps_recv (2:5020/1398) 2100 +# min_cps_recv (2:5020/1682) 3000 +# min_cps_recv (2:5020/1811) 1400 +zmodem_mincps_recv 300 15 +zmodem_mincps_recv 1200 90 +zmodem_mincps_recv 2400 120 +zmodem_mincps_recv 4800 240 +zmodem_mincps_recv 7200 360 +zmodem_mincps_recv 9600 480 +zmodem_mincps_recv 12000 600 +zmodem_mincps_recv 14400 720 +zmodem_mincps_recv 16800 840 +zmodem_mincps_recv 19200 960 +zmodem_mincps_recv 21600 1080 +zmodem_mincps_recv 23600 1180 +zmodem_mincps_recv 24000 1200 +zmodem_mincps_recv 26400 1320 +zmodem_mincps_recv 28800 1440 +zmodem_mincps_recv 31200 1600 +zmodem_mincps_recv 33600 1700 + +zmodem_mincps_send 300 15 +zmodem_mincps_send 1200 90 +zmodem_mincps_send 2400 120 +zmodem_mincps_send 4800 240 +zmodem_mincps_send 7200 360 +zmodem_mincps_send 9600 480 +zmodem_mincps_send 12000 600 +zmodem_mincps_send 14400 720 +zmodem_mincps_send 16800 840 +zmodem_mincps_send 19200 960 +zmodem_mincps_send 21600 1080 +zmodem_mincps_send 23600 1180 +zmodem_mincps_send 24000 1200 +zmodem_mincps_send 26400 1320 +zmodem_mincps_send 28800 1440 +zmodem_mincps_send 31200 1600 +zmodem_mincps_send 33600 1700 + +hydra_mincps_recv 300 15 +hydra_mincps_recv 1200 90 +hydra_mincps_recv 2400 120 +hydra_mincps_recv 4800 240 +hydra_mincps_recv 7200 360 +hydra_mincps_recv 9600 480 +hydra_mincps_recv 12000 600 +hydra_mincps_recv 14400 720 +hydra_mincps_recv 16800 840 +hydra_mincps_recv 19200 960 +hydra_mincps_recv 21600 1080 +hydra_mincps_recv 23600 1180 +hydra_mincps_recv 24000 1200 +hydra_mincps_recv 26400 1320 +hydra_mincps_recv 28800 1440 +hydra_mincps_recv 31200 1600 +hydra_mincps_recv 33600 1700 + +hydra_mincps_send 300 15 +hydra_mincps_send 1200 90 +hydra_mincps_send 2400 120 +hydra_mincps_send 4800 240 +hydra_mincps_send 7200 360 +hydra_mincps_send 9600 480 +hydra_mincps_send 12000 600 +hydra_mincps_send 14400 720 +hydra_mincps_send 16800 840 +hydra_mincps_send 19200 960 +hydra_mincps_send 21600 1080 +hydra_mincps_send 23600 1180 +hydra_mincps_send 24000 1200 +hydra_mincps_send 26400 1320 +hydra_mincps_send 28800 1440 +hydra_mincps_send 31200 1600 +hydra_mincps_send 33600 1700 +# +mode_default 100666 +mode_arcmail 100666 +mode_netmail 100666 +mode_request 100666 + +#modem_port /dev/ttyUSB0:57600 +modem_reset_command ATE0M0| +modem_dial_prefix ATDT +modem_dial_suffix | +modem_hangup_command v~^~ATH0| +#modem_stat_command AT%S| +#modem_stat_command AT| +modem_stat_command AT&V1| +modem_dial_response "CONNECT" connect +modem_dial_response "BUSY" busy +modem_dial_response "NO CARRIER" nocarrier +modem_dial_response "NO DIAL" nodialTone +modem_dial_response "NO ANSWER" noanswer +modem_dial_response "VOICE" noanswer +modem_dial_response "ERROR" error + +nodelist NODELIST.999 *:*/*.0 + +#nodelist 450_256.pnt 2:450/256.* +#nodelist easynet.ndl 20:26/*.0 +#nodelist *:*/*.* + +phone_translate 7-813-78 +phone_translate 7- 8 +#phone_translate 375- 8 + +system_name TestZoneB +location TestZone +sysop_name TestZoneB User +phone -Unpublished- +max_speed 9600 +emsi_OH_time 00:00-24:00 +emsi_FR_time 00:00-24:00 +emsi_send_tz yes +emsi_send_time yes + +recv_buffer_size 65536 + +wait_carrier_out 120 + +#freq_srif_command /usr/local/lib/u-srif/u-srif +freq_alias_list %TESTZONE%/etc/freq.aliases +freq_dir_list %TESTZONE%/etc/freq.dirs +freq_limit_number 10 + +freq_limit_size 6000000 +freq_limit_time 1200 +freq_ignore_masks \\* \\*.\\* \\*.zip \\*.rar \\*.exe \\*.mp3 \\*.avi \\*.mp4 \\*.tgz +#zmodem_skip_by_pos yes +zmodem_send_dummy_pkt no +#zmodem_start_block_size 512 +#zmodem_tx_window 32768 +skip_files_recv *.pif *.swp +#delay_files_recv !%arcmail !%netmail # We will refuse all except mail +#delay_files_send !%netmail # We will send only netmail +#delay_files_recv (2:450/102) !%netmail +#min_free_space 20000 +#recode_file_out /usr/local/fido/etc/koi82alt.tbl +#recode_file_in /usr/local/fido/etc/alt2koi8.tbl + +#run_after_handshake [logout]/bin/echo "Hello, world!" +#run_after_session [nowait,setsid]/usr/local/lib/ftp/run-in +#run_after_handshake [setsid,useshell,logout]/usr/bin/nlookup $REM_ADDR_FTN +#run_after_session [logout,useshell]/usr/bin/hpt toss && /usr/bin/hpt link && /usr/bin/htick toss +#run_after_handshake [setsid,useshell,logout]/usr/bin/nlookup $REM_ADDR_FTN +#filebox_directory /var/spool/fido/bt/fbox + +#filebox /var/spool/ftn/fbox/adb 2:5020/2120.1 hold +#filebox /var/spool/ftn/fbox/pvc 2:5020/2091 normal +#flo_translate C:\\fido\\spool\\outbound /var/spool/ftn/out +#flo_translate \\ / + +maxtries 200 Undialable # Be carefull.. =) +maxtries_noansw 5 Hold 7200 # Call two hours later +maxtries_noconn 40 Hold 10800 # Don't call 3 hours +maxtries_hshake 10 Hold 86400 # 1 day delay +maxtries_sessions 10 Hold 3600 # Don't annoy uplinks +maxtries_nodial 1 Hold 1200 # Call 20 min later + +daemon_circle_modem 40 +daemon_circle_rescan 60 +daemon_circle_normal 80 +daemon_circle_direct 40 +daemon_circle_crash 20 +daemon_circle_immed 10 +daemon_maxclients_tcpip 2 +daemon_maxclients_modem 1 +daemon_pid_file %TESTZONE%/run/bforceB.pid + +#syslog_facility 64 +#nomail_flag /home/zx/fido/ftnroot/flags/nomail +#run_before_session /usr/local/bin/call_inet.sh + +recieved_to_lower yes + +# That's all! diff --git a/tests/configs/genpkt.sh b/tests/configs/genpkt.sh new file mode 100755 index 0000000..a314185 --- /dev/null +++ b/tests/configs/genpkt.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +txt2pkt -nf "TestZone UserB" -xf "99:1/1" -xt "99:1/2" -t "Binkleyforce testzone" -o "fido.zxalexis.ru" -s "Test Message from TestNodeA to TestNodeB" -d ./msgAtoB ./testtextA.cp866 +txt2pkt -nf "TestZone UserA" -xf "99:1/2" -xt "99:1/1" -t "Binkleyforce testzone" -o "fido.zxalexis.ru" -s "Test Message from TestNodeB to TestNodeA" -d ./msgBtoA ./testtextB.cp866 + + diff --git a/tests/configs/msgAtoB/666593c4.pkt b/tests/configs/msgAtoB/666593c4.pkt new file mode 100644 index 0000000000000000000000000000000000000000..9b636af0fdbf74ddbabbf55026ec3edb7ea3bda6 GIT binary patch literal 10512 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 literal 0 HcmV?d00001 diff --git a/tests/configs/testtextA.cp866 b/tests/configs/testtextA.cp866 new file mode 100644 index 0000000..10bb121 --- /dev/null +++ b/tests/configs/testtextA.cp866 @@ -0,0 +1,50 @@ +Вот, навеяло: + +Звезды отражались в её глазах. Раньше, еще месяц назад их не было видно в черте города. Свет фонарей и смог заглушали их слабое мерцание. Все изменилось. И одним из немногих плюсов сложившейся ситуации было мерцание звезд в её глазах, и воздух, кажется стал чище. У всех у нас когда то была работа, и был дом. У некоторых были дети. У Лены была дочка. Она работала барменшой, а по вечерам подрабатывала в "клубе знакомств". Попросту говоря - была проституткой. Теперь ей уже не приходится ездить по незнакомым клиентам, каждый раз перед дверью квартиры креститься, и молиться, что бы все прошло как надо. Это тоже плюс. Но теперь у неё нет дочки. Она потерялась в первые дни, как только все это начиналось. +Лена была "на вызове", когда исчезло электричество. Никто еще не знал, что это серьезно. Мобильная связь не работала, город погрузился во тьму за окнами однакомнатной квартиры, в которой возбужденный мужчина кончал в презерватив, а Лена считала секунды до очередного вызова. Она не могла как обычно принять душ, и вызвать такси, и после осознания этого, просто начала одеваться. Белье по привычке было сложено одной кучкой рядом с кроватью. Мужчина, имя которого она не захотела запоминать сказал ей спасибо и открыл дверь, что то проворчав напоследок на "долбанных электриков"... +Лене было очень приятно выйти на свежий воздух, после пропахшей перегаром комнатушки. Она шла по темным улицам города, шла на "базу" пешком, и эта непроглядная тьма вокруг для неё сейчас была отражением внутреннего состояния, и поэтому она наслаждалась этой прогулкой. Она еще не знала, что электричество и водоснабжение уже не восстановят. Она не могла подумать, что через три часа её пятилетняя дочка, испугавшись темноты и одиночества, выйдет из квартиры, и пропадет навсегда. Она еще не знала, что её поиски будут бесполезны и опасны... Она просто шла по улице. + +Сейчас мы стоим кольцом, решаем что делать. Дмитрий Иванович слева от меня, дплее Сашок, Лена и Дима. На скамейке недалеко сидят Лера и Оля. Лица во тьме еле различимы. У мужчин - покрыты щетиной, у девушек осунулись и устали.. +- На Кирова я слышал выстрелы. Туда идти бесполезно. - Дмитрий Иванович был явно напуган. +- Да никто тебя туда не заставляет идти! - сказал Сашок. +- Да, но нам нужно достать еще еды. - ответил я. +Улицы города были пусты только с виду. На самом деле - в черных глазницах зданий ютились уцелевшие. Агрессивные, озлобленные, готовые на все. Люди кучковались по случайному признаку. Так и наша группа образовалась случайно. Одному сейчас не выжить. Но проблема в том, что мы не доверяли другим. Как впрочем и они нам. У нас еще была еда, её хватило бы на неделю максимум. +- Кто нибуть следил за этим домом? - я указал на дом 20, корпус 1 по Ленинградской набережной. Это была пятиэтажка, и она горела. Горела уже давно. Из одного подъезда постоянно валил дым. Черный, густой. Но всполохов пламени не было видно. +- Я следила, никто не входил. Кому нужен это горящее пекло? - Лера подала голос со скамейки. +- Пойдем туда. - Сашок не спрашивал, он просто констатировал факт. +Никто не спорил. Все очень устали. И идея обшарить горящий дом всем показалась правильной. Мы передернули затворы, проверили гранаты, и пошли. + +Дмитрий Иванович был учителем в техникуме. В тот день он пришел домой, аккуратно расставил все продукты в холодильник, которые принес в сумке. Расстелил скатерть на столе. Достал фужер из стенного шкафа. Рядом положил блюдце с нарезанным сыром. Бутылку вина "Мерло", крепкое полусладкое. ВЫключил свет. Включил телевизор. Налил полный фужер. Он приготовился провести очередной приятный вечер в полном одиночестве. +Через неделю после того как случилась катастрофа он уже легко резал людей ножом, которым когда то резал сыр. Он уже легко пил водку, и забыл название любимой телепередачи. А команда "Зенит", за которую он когда то болел - для него стала чем то мифическим, из другого мира. И тех людей, которым он ставил когда то оценки в классе, он убивал не задумываясь. И даже с каким то удовольствием и с некоторой долей самоотдачи и смекалки... + +И конечно же иронии. Без неё сейчас не прожить. В подъезде пятиэтажки несло смрадом. Мы быстро одели марлевые повязки. Спуск вниз, подвал, превращенный в склад продуктового магазина. Это и есть наша цель. Дима, держа пистолет наготове встал от двери слева. Сашок справа. Ну а мне нужно было взломать железную дверь. Каждый из нас теперь стал в этом специалистом. Я не стал подбирать ключ. Я разрядил обойму своего "макарова" вокруг замка. Дмитрий Иванович, интеллигентно приложился ногой по двери и первый ворвался в помещение. Пока я перезаряжал обойму, я уже услышал выстрелы. Мы действовали быстро и безжалостно. Девушки стояли снаружи. Им отдали старый калашников, на всякий случай. + +Лера Хотела просто подогреть воду, что бы выпить горячего чаю. Впервые, спустя два дня как отключили электричество, она осторожно вышла на улицу. В окно она видела, как во дворе дома люди разожгли костер. Была осень, погода не радовала теплом, и рассчитывать было особо не на что. Её супруг был в командировке в Питере, и она не хотела ничего без него предпринимать, пока он не вернется. Соседка, пожилая женщина, была единственным человеком, с кем она общалась в это время. Она рассказала ей, что электричество починить пока не удается. Что по непонятным причинам не работают даже генераторы в автомобилях. И что вроде бы это проблема не только в Мончегорске, но и во всей мурманской области. +В первый день, по улицам ходили милицейские патрули, громко говорили что бы все соблюдали спокойствие. Что питание будет скоро восстановлено и нет причин для паники. Утром прошел еще один патруль, он огласил информацию о нескольких пунктах скорой помощи, развернутых в городе. На центральной площади, на улице Климентьева, Ленинградской набережной, Монче, и улице Бредова. Там можно получить еду и воду. Некоторые люди все таки поддались панике. Особенно те, которые ходили с малолетними детьми. Они требовали от патрулей полной инфомации и вели себя очень неспокойно. Вследствии чего некоторые были арестованы и помещены под арест. +Лера вышла с кастрюлей воды во двор. Соседи без промедления указали на старые качели, под которыми горел огонь, и висело еще несколько котелков. Лера повесила свой. +Лица у людей вокруг костра, а их было около 50-ти человек. Были напряжены. Глаза у многих возбужденно горели. Кто то даже шутил. Тишину и мерный гомон голосов иногда прерывал громкий смех. +Лера поговорила немного с соседями. Никто не знал, что случилось... + +Неплохо. Они все спали. Обошлось без осложнений. Только один из них пытался обороняться. Мальчик, лет 15-ти, не больше... поднял автомат на Диму. Автомат был на предохранителе, и пока мальчик делал попытки понять, почему не работает спусковой крючок - Дима вынес ему мозги на противоположную стенку. Было еще пять человек в подвале. Три девушки и двое мужчин. Всех застреллили без особых проблем. Мы позвали девушек. Лена и Лера начали убирать трупы в одну комнату. Оля осталась у входа, с калашом наготове. Все остальные оценивали запасы провианта. Консервы. Сухие пакеты с лапшой. Ящики с лимонадом, минералка. Тут было пригодной еды на два месяца, если рассчитывать на шестерых. Проблема была только в том, где все это спрятать. +- Блять! - Лера подскользнулась и упала на труп мальчика с простреленной башкой. +- Там мозги на полу, ты че не видела? - Лена смеялась... +- Ты раньше не могла сказать? - и Лера тоже рассмеялась... +- Так, подруги шабаш веселью, блять, если вам заняться нечем - пиздуйте сюда, я вам сейчас загружу ящиками!!! - Я был не в настроении шутить. +- Ну и сука ты Макс... +- Да пошел он на хуй! - поддержала Лера... +- Не пиздеть! Всем сюда нахуй!!!! + +Лена сидела на автобусной остановке напротив моего дома. Она тихо плакала, обхватив руками голову. Уже неделю я ничего горячего не ел. Запасы продуктов кончились, улицы опустели. И лишь немногие прохожие шатались по городу как зомби, словно ничего перед собой не видели. Они шли к раздаточным пунктам. По слухам - там уже начались беспорядки. Некоторые дома горели. +Мне надоело ходить, мне было одиноко. Я сел рядом с ней. +- Как дела? +- Я не могу найти свою дочь. - Лена говорила в пустоту перед собой. +- Как её зовут? - я попытался заполнить эту пустоту. +- Даша. +- Что ты собираешься делать? +- Я хочу уйти вслед за ней.. - её слова прерывались стонами и плачем. +- Пошли за мной. + +Мы неплохо поживились. Всю пригодную еду унесли с собой. Несколько автоматов и боеприпасов. Удача. Откуда в городе оказалось столько оружия? Почему теперь мы боимся солнечного света? Холера косит людей и животных. На улицах, во дворах видны трупы людей, детей... Они покусаны собаками. Они распространяют невыносимую вонь. Люди умирают внезапно. От болезней. от пули, выпущенной в спину. От ножа, который когда то резал сыр, а теперь режет человеческую плоть. Господь задумал глобальную чистку. Это не армагеддон. Выжившие и уставшие. Люди, похожие больше на зверей. Человечество в этом городе перестало существовать. Выбраться из него нереално - те, кто пытался замерзли в дороге. Или были убиты. Единственный выход - убивать, грабить, выживать. Держаться группами. Доверять людям, которые рядом, но только когда ты осознаешь, что они нуждаются в тебе. Тот, кто не нужен - будет убит. Неделю назад, наш товарищь, мой друг детства, Вова... он заболел холерой. Как только мы это поняли - мы связали еу руки и ноги, отнесли на обочину, и я пустил ему пулю в лоб. + +Она вспоминала дни, когда звезд не было видно. А звезды отражались в её глазах. Мы все были другими. Теперь я вижу что она счастлива. Она потеряла ребенка. Она убивала, была свидетелем того, как убивали её друзей. Она смирилась с тем, что уже никогда не будет в её жизни теплого душа, кофе, горячей маминой похлебки. Лена. И я хочу разделить твое счастье. Ты позволяешь мне тебя обнять. Ты уже не думаешь о жестокости жизни, заставившей идти тебя на панель. Ты довольна. Твоя месть свершилась. Торжество бытия стоило потери девочки, которую ты любила. Теперь мы славим бога за то, что он дал нам этот момент счастья. Теперь мы верим в него. Теперь мы не существуем. Мы живем. Мы все потеряли девственность. Мы получили опыт. Нас износиловал господь бог! Но почему же мы сейчас так счастливы???? + diff --git a/tests/configs/testtextB.cp866 b/tests/configs/testtextB.cp866 new file mode 100644 index 0000000..e1ee95a --- /dev/null +++ b/tests/configs/testtextB.cp866 @@ -0,0 +1,184 @@ +Чак ПАЛАНИК +КИШКИ + +Вдохните. + +Наберите как можно больше воздуха. + +Эта история занимает ровно столько времени, насколько вы можете задержать дыхание, и еще чуть-чуть. Так что слушайте как можно скорее. + +Один мой друг, когда ему было 13 лет, услышал о пеггинге . Пеггинг это парня трахают в задницу искуственным членом. По слухам, если стимулировать простату достаточно сильно, можно добиться множества ярких оргазмов без помощи рук. В возрасте 13 лет этот друг был маленьким сексуальным маньяком. Он вечно новые пути получения очередного оргазма. Он идет в супермаркет, чтобы купить морковь и вазелин. Чтобы провести небольшое независимое расследование. Тогда он вдруг представляет себе, как все это будет выглядеть у кассы в супермаркете, одинокая морковь и баночка вазелина на подвижной ленте кассы. И все смотрят. Все понимают, что парень решил подарить себе замечательный вечер. + +Итак, мой друг покупает молоко и яйца и сахар и морковь, все ингредиенты для морковного пирога. И вазелин. + +Как будто дома он собрался засунуть себе в задницу морковный пирог. + +Дома он вырезает грубоватый морковный член. Он обмазывает его вазелином и усердно засовывает его себе в задницу. Ничего не происходит. Никакого оргазма. Ничего не происходит кроме того, что задница болит. + +Тут его мать зовет его ужинать. Иди сюда, пора есть, говорит она. + +Он вытаскивает морковь из задницы и прячет скользкую, грязную морковь под кроватью среди грязного белья. + +Поужинав, он идет за морковью, но ее там нет. Пока он ужинал, мать забрала его грязное белье, чтобы постирать. Она не могла не заметить морковь, тщательно оструганную кухонным ножом, белстящую от смазки, вонючую. + +Следующие месяцы этот мой друг живет как под черной тучей. Он ожидает выяснения отношений. Но этого не происходит. Никогда. Даже когда он вырос, эта морковь незримо нависала над каждым рожденственским ужином, над каждым семейным праздником. Каждая пасха, когда его собственные дети, внуки его родителей, ищут спрятанные пасхальные яйца, эта морковь нависает нд ними всеми. + +Слишком отвратительно, чтобы иметь название. + +У французов есть выражение: эффект лестницы . По-французски Esprit d Escalier, эспри д эскалье. Оно относится к моменту, когда ты находишь правильный ответ, но уже поздно. Например, на вечеринке тебя кто-то оскорбляет. Ты должен как-то ответить. Когда на тебя все смотрит, когда на тебя это давит, ты говоришь что-то неубедительное. Но ведь потом ты уходишь с вечеринки. + +И именно в тот момент, когда начинаешь спускаться по лестнице вдруг о, чудо. Тебе приходит в голову идеальный ответ. И это окончательное унижение. + +Вот что такое эффект лестницы + +Проблема в том, что даже у французов нет названий для некоторых глупостей, которые мы делаем под влиянием момента. Все эти наши глупые, отчаянные действия и поступки. + +Некоторые поступки слишком низки, чтобы иметь название. Слижком низки, чтобы их обсуждать. + +Сейчас многие детские психологи и педагоги говорят, большая часть подростковых самоубийств происходит в результате онанизма, когда подросток придушивает себя для остроты ощущений. Приходят родители и находят ребенка в стенном шкафе в своей спальне с полотенцем, привязанным к перекладине для вешалок. Мертвого. С мертвой спермой повсюду. Конечно, родители прибираются. Надевают на труп штаны. Стараются сделать так, чтобы это выглядело лучше. Стараются, по крайней мере. Обычное несчастное подростковое самоубийство. + +Другой мой школьный друг, у него брат служил в военном флоте, этот брат рассказал, что парни на Ближнем Востоке занимаются онанизмом совсем не так, как мы. Брат служил в какой-то верблюжьей стране, где на рынках продавалось нечто, похожее на причудливый нож для открывания писем. Тонкий стержень из бронзы или серебра, длиной примерно с ладонь с шариком на конце и красивой резной рукояткой, как у кинжала. Этот брат-моряк рассказал, как после того, как член встанет, арабы втыкают этот стержень себе в член на всю длину. Потом они дрочат, пока стержень внутри, и от этого лдучше кончают. Сильнее. + +А еще этот брат ездит по всему миру, и присылает французские фразы. Русские фразы. Полезные подсказки. + +После этого в один прекрасный день мой друг не приходит в школу. Вечером он звонит и просит меня получать его домашнии работы, пару недель. Потому что он в больнице. + +Он в одной комнате со стариками, которым режут кишки. Он рассказывает, что в палате только один телевизор. Что его личное пространство огорожено всего лишь занавеской. Что родители к нему не приходят. По телефону он рассказывает, что родители готовы убить старшего брата, который служит в военном флоте. + +По телефону этот пацан мне рассказывает, что накануне он лишь немного выпил. Что валялся на кровати в своей комнате. Что он зажег свечку и лениво просматривал старые порножурналы, собираясь подрочить. Это после того, как он прочитал письмо брата. С тем полезным способым приемом онанизма. Пацан оглядывается в поисках чего-нибудь, что можно использовать для этой цели. Шариковая ручка слишком толстая. Карандаш тоже слишком толстый к тому же грубый. На свечке потек воска тонкий, гладий стержень из воска, который вполне мог бы подойти. Пацан ногтем отковыривает длинный тонкий столбик воскаи трет между ладонями. Длинный и тонкий и гладкий. + +Пьяный и возбужденный, он вставляет восковый стержень себе в перец, все глубже и глубже в канал. Часть стержня остается торчать снаружи, и он начинает. + +Даже сейчас он говорит, что арабы чертовски умные ребята. Они придумали совсем другой онанизм. Парень лежит на спине, и все получается так круто, что он забывает про воск. Ему остается дернуть всего один раз, чтобы кончить, когда оказывается, что воск больше не торчит наружу. + +Этот тонкий восковый сержень, он провалился внутрь. Совсем внутрь, до конца. Так глубоко, что он не может его нащупать даже в самом начале канала. + +Из кухни мать зовет его ужинать. Иди сюда, сейчас же говорит она. Этот парень с воском и парень с морковью совсем не похожи друг на друга, но мы все живем примерно одинаково. + +И после ужина у парня начинает болеть живот. Это воск, и он решает, что воск все равно растает и выйдет вместе с мочой. Теперь у него болит еще и спина. Болят почки. Он не может распрямиться. + +Все это он рассказывает по телефону с больничной койки, вдалеке слышится звук гонга и рев толпы. Спортивный матч. + +Рентген показывает правду, что-то тонкое и длинное, согнутое вдвое в его мочевом пузыре. Эта длинная, тонкая буква V собирает на себе все минералы из его мочи. Она становится толще и грубее, покрывается кристаллами кальция, болтается туда-сюда, царапая нежную оболочку мочевого пузыря, не давая моче выйти наружу. Его почки перегружены. То немногое, что вытекает из его члена красное от крови. + +Стоит парень я его семья, и смотрят на черно-белый снимок, рядом доктор и медсестры, и буква V сияет белым светом у всех на виду, и ему приходится сказать правду. О том, как кончают арабы. О чем ему написал старший брат, который служит на военном флоте. + +Прямо сейчас, по телефону, он начинает плакать. + +Родители заплатили за операцию деньгами, отложенными на его образование в колледже. Одна глупость, и он уже никогда не станет юристом. + +Вещи внутри тебя. Ты внутри вещей. Свечка в члене или твоя голова в петле мы знали, что верный способ нажить себе геморы. + +Мои геморы начались из-за жемчужного ныряния , как я это называл я дрочил под водой, на одном дыхании, сидя на дне родительского бассейна в самой глубокой его части. Вдохнув воздуха, я быстро нырял и стягивал с ебя плавки. Обычно я сидел на дне в течение двух, трех, четырех минут. + +Только из-за своего онанизма я удивительным образом развил способности своих легких. Если я оставался один, когда весь дом оставался в моем распоряжении, я обычно занимался этим весь день. И после того, как я выкачивал из себя эту штуку, сперму она болталась в воде большими жирными, молочно-белыми комками. + +После этого снова было ныряние, чтобы собрать эти комки и вытереть их о полотенце. Поэтому я и называл это жемчужным нырянием. Даже хотя вода была хлорированная, я не мог не беспокоиться о сестре. Или, упаси боже, о маме. + +Это был мой самый большой в жизни страх: моя сестра-девтсвенница думает что она просто толстеет, а потом рожает двухголового ребенка-олигофрена. И обе головы вылитый я. Я, отец и одновременно дядя. + +Но обычно с тобй случается совсем не то, о чем ты беспокоишься. + +Лучшим моментом жемчужного ныряния было сливное отверстие бассейна с фильтром и насосом для откачивания воды. Самый кайф был в том, чтобы стащить с себя трусы и сесть на него. + +Как говорят французы разве хоть кому-то не нравится, когда его задницу вылизывают? Однако иногда ты просто онанирующий подросток и вдруг хоп! и тебе уже никогда не стать юристом. + +Однажды я сижу на дне бассейна, и надо мной волнистое водяное небо, восемь футов светло-голубой воды над моей головой. В мире царит тишина, за исключением пульса в моих ушах. Мои желтые полосатые плавки обмотаны вокруг шеи на всякий случай: вдург заглянет сосед, знакомый или, например, физрук, желающий поинтересоваться почему я пропустил футбольную тренировку. Стабильное сосущее течение сливного отверстия ласкает мою кожу и я верчу своей костлявой бледной задницей, чтобы поймать это ощущение. + +У меня еще достаточно воздуха в легких, и рука сжимает член. Родители на работе, а сестра на занятиях балетной школы. До прихода предков остается еще несколько часов. Моя рука приближает и приближает оргазм. Я останавливаюсь, вынириваю, чтобы вдохнуть воздуха, и ныряю обратно, чтобы продолжить. + +Я делаю это снова и снова. + +Возможно, поэтому девушки так любят сидеть у тебя на лице. Ощущение всасывания как минет, который инкогда не кончается. Когда мой член стоит, а вода облизывают мою задницу, мне не нужен воздух. С оглушающим сердцебиением в ушах, я остаюсь под водой до тех пор, пока перед глазами не появляетя рой маленьких ярких звездочек. Я выпрямляю ноги, обратной сторой коленей касаюсь беттоного дна бассейна. Пальцы на руках и ногах уже посинели и сморщились от долгого пребывания в воде. + +И тут я позволяю этому случиться. В воде появляются большие белые комки. Жемчужины. + +Теперь мне нужен воздух. Но когда я пытаюсь оттолкнуться от дна, я не могу. Я не могу подогнуть под себя ноги. Моя задница застряла. + +Врачи скорой помощи могут рассказать, что каждый год около 150 человек застревает подобным образом, присосавшись к насосу, откачивающему воду из бассейна. Или насос не отпускает их задницы или затягивает их длинные волосы, и они захлебываются. Большинство этих случаев происходит в Флориде. + +Никто об этом не говорит. Даже французы не говорят о некоторых вещах. + +Извернув ноги, мне удается согнуть ее в колене и опереться в дно, я наполовину встаю и чувствую, как что-то тянет меня за анус. Подсунув по себя вторую ногу, я отталкиваюсь от дна. Я свободно болтаюсь и лягаюсь в воде, не задевая бетона, но и не всплываю. + +Брыкаясь изо всех сил, гребя обоими руками, я на полпути к воздуху, но болтаюсь на одном и том же месте. Стук сердца в ушах становится громче и чаще. + +Я изворачиваюсь и оглядываюсь, сквозь мириады ярких звездочек в глазах, но то что я вижу, не поддается пониманию. Какая-то толстая веревка, синевато бледная, с прожилками, тянется от сливного отверстия к моей заднице и не отпускает меня. Из некоторых прожилок сочится кровь, алая кровь, которая на глубине кажется черной, она струками появляется из маленьких разрывов в бледной коже этой змеи. Эти струки постепенно расторяются в воде; а внутри змеи, под ее тонкой белесой кожей, виднеются комки наполовину переваренной еды. + +Тогда я начинаю понимать. Какое-то жуткое морское чудовище, морская змея, тварь, ни разу не видевшая солнечного света, пряталась в канализации и поджидала момента, чтобы вцепиться мне в задницу. + +Я начинаю лягать и пинать эту змею, ее скользкую резиновую кожу с этими венами, и мне кажется, что я сумел вытянуть ее из сливного отверстия еще немного. Теперь она длиной примерно с мою ногу, но все равно крепко держится за мой анус. Я пинаю еще, и поднимаюсь на дюйм, на дюйм ближе к поверхности. Хотя я чувствую, что змея все еще держится за мою дырку, я еще на дюйм ближе к спасению. + +Внутри змеи виднеются кусочки кукурузы и орехов. Виднеется продолговатая оранжевая капсула. Это какой-то мультивитамин, из тех, что дает мне папа, чтобы я набрал мышечную массу. Чтобы я попал в футбольную команду и получал дополнительную стипендию. Капсула с обогащенным железом и аминокислотами. + +Я вижу эту таблетку, которая должна спасти мою жизнь. + +Это не змея. Это мой кишечник, моя прямая кишка, которая вывалилась из меня. То, что врачи называют выпадением прямой кишки . Мои кишки затянуло в сливное отверстие. + +Врачи скорой помощи могут рассказать вам, что насос для откачки воды из бассейна пропускает через себя 80 галлонов воды в минуту. Что по весу равняется 400 фунтам. Большая проблема кроется в том, что концы внутри нас соединены, и твой анус это дальний конец твоего рта. Если я позволю, и насос будет продолжать откачивать воду вытягивать из меня внутренности он в конце концов засосет и мой язык. Представьте себе, что вы высрали из себя 400 фунтов, и вы поймете, что это все равно что тебя вывернули наизнанку. + +Могу вас обрадовать тем, что кишки не чувствуют боли. По крайней мере не так, как наша кожа. То, что мы перевариваем, врачи называют фекальными массами. В верхней части кишки я вижу жидкую массу, в которой плавают зерна кукурузы, арахиз и кругляши зеленого горошка. + +И вот вокруг меня плавает весь этот суп из крови и кукурузы, дерьма и спермы и арахиса. Причем даже когда из меня вытягиваются мои кишки, и я держусь за то, что осталось, даже тогда мое главное желание хоть как-нибудь натянуть плавки. + +Не дай Бог предки увидят мой член. + +Одной рукой я сжимаю свою кишку в кулаке, другой сдергиваю свои желтые полосатые плавки с шеи. Но натянуть их все равно невозможно. + +Если вы хотите знать, как ваши кишки выглядят на ощупь, купите презерватив, сделанный из бараньих кишок [1 - В США продаются презервативы, сделанные из кишок животных, хотя их надежность считается гораздо ниже обычных. (Примечание переводчика)]. Возьмите его, раскатайте. Наполните его арахисовым маслом. Обмажьте его вазелином и потискайте под водой. Потом, попытайтесь разорвать его. Напополам. Он слишком прочный и эластичный. Он такой скользкий, что за него невозможно как следует ухватиться. + +Презерватив из бараньих кишок это тот же старый добрый кишечник человека. + +Вы видите, к чему я веду. + +Стоит отпустить на секунду и у меня больше нет кишок. + +Стоит поплыть наверх, к воздуху и у меня больше нет кишок. + +Стоит отказаться плыть наверх и я утопленник. + +Это выбор умереть сейчас или на минуту позже, чем сейчас. + +Мои предки вернутся с работы и найдут большой голый эмбрион, скрюченный и сдувшийся. Плавающий в мутной воде бассейна на заднем дворе. Сроднившийся с бассейном через пуповину запутанных кишок и вен. Полная противоположность парню, случайно удавившемуся во время онанизма в стенном шкафу. И это их ребенок, которого они привезли из роддома 13 лет назад. Ребенок, который, как они надеядись, должен был попасть в футбольную команду и получать дополнительную стипендию и получить степень магистра. Ребенок, который заботился бы о них, когда они состарятся. Все их надежды и мечты. В бассейне, голый и мертвый. И вокруг него большие молочно-белые комья спермы. + +Может, так. А может, мои предки найдут меня, завернутого в окровавленное полотенце, свалившегося без сознания на пути к телефону с рваными ошметками кишок, болтающимися из-под желтых полосатых плавок. + +То, о чем не говорят даже французы. + +Старший брат в военно-морском флоте научил нас одной хорошей пословице. Русской пословице. Пословица о том, что мы, американцы, называем это мне нужно, как дырка в голове . Русские говорят: Мне это нужно, как зубы в заднице . + +Mnye etoh nadoh kahk zoobee v zadnetze. [2 - Русская пословица передана латиницей в точности так, как в оригинале. (Примечание переводчика)] + +Эти истории про то, как попавшие в капкан звери отгрызают себе ногу. Что же, любой койот расскажет вам, что пара минут боли чертовски круче смерти. + +Черт, даже если ты русский, иногда может наступить момент, когда ты захочешь иметь зубы в том самом месте. + +А если их нет, тебе приходится сделать вот что извернуться. Ты цепляешь локтем себя за коленку и тянешь свою ногу к лицу. Ты грызешь и кусаешь собственную задницу. У тебя кончился воздух, и ты отгрызешь все, что угодно, чтобы вдохнуть его еще раз. + +Об этом не разговаривают с девушкой на первом свидании. По крайней мере, если на прощание ты надеешься ее поцеловать. + +Если я скажу вам, каково это было на вкус, вы бы никогда больше не стали бы есть кальмаров и осьминогов, никогда. + +Трудно сказать, что показалось мои предкам более омерзительным как я попал в ловушку или как я из нее вырвался. Когда меня выписали из больницы, мама сказала: Сынок, ты не знал, что творил. Ты был в шоке . А потом она научилась варить яйца без скорлупы яйцо разбивается в кипящую соленую воду. [3 - Вареное яйцо без скорлупы (poached egg, по-русски яйцо-пашот ) известно в европейской кухне, но почти неизвестно в русской кухне, поэтому я кратко уточнил в тексте, что это такое. Соленая вода доводится до кипения и размешивается так, чтобы получился водоворот. Туда разбивается яйцо (можно два или три), как на сковородку, когда делается глазунья. Через минуту вода сливается через сито. В результате получаетя очень нежное, легко перевариваемое блюда. (Примечание переводчика)] + +Интересно, все эти люди они меня жалели или испытывали отвращение? + +Я хочу это знать так же, как я хочу иметь зубы в своей заднице. + +Сейчас люди постоянно говорят мне, что я слишком худой. Когда меня приглашают на ужин я отказываюсь приготовленное ими жаркое, они удивляются и начинают нервничать. Жареное мясо меня убивает. Запеченная ветчина. Любая еда, которую нельзя переварить за пару часов, выходит из меня как еда. Тушеная фасоль, кусочки рыбы. Я встаю с унитаза и там они валяются. Как были. + +После радикальной операции по укорачиванию кишечника, переваривать мясо становится немного трудно. У большинства из вас пять футов кишечника. Я счастлив иметь свои шесть дюймов. Так что я так и не получил футбольную стипендию. Никогда не стал магистром каких-либо наук. Оба моих друга пацан со свечкой и пацан с морковью они оба выросли, вышли в люди, но я так и не прибавил ни одного фунта с тех пор, как мне исполнилось 13. + +Другая проблема была в том, что предкам пришлось выложить огромные деньги за тот самый бассейн. В конце концов папа сказал водопроводчику, что это была собака. Наша собака свалилась в бассейн и утонула. Труп затянуло в сливное отверстие. Даже когда водопроводчик разобрал насос и выудил из него бледную резиноподобную кишку, водянистый кусок кишечника с большой оранжевой витаминной таблеткой внутри, даже тогда мой папа сказал эта чертова безмозглая собака . + +Даже из окна своей комнаты я слышал, как папа сказал: Эту собаку нельзя было оставить без присмотра ни на секунду . + +А потом у сестры была задержка месячных. + +Даже после того, как в бассейне сменили воду, даже после того, мы продали дом и переехали, после аборта сестры, даже тогда мои предки ни разу этого не упоминали. + +Никогда. Это наша невидимая морковь. + +А вы. Вы можете теперь сделать полный вдох. + +Я и до сих пор не могу. diff --git a/tests/mktests.sh b/tests/mktests.sh new file mode 100755 index 0000000..5efe55b --- /dev/null +++ b/tests/mktests.sh @@ -0,0 +1,95 @@ +#!/bin/bash + +# Making tests of BForce +CURDIR=$(pwd) +BFBIN=$(pwd)/../source/bin/bforce + +function prepconfig() { + echo "Preparing configs with $1 as protocol..." + cp ${CURDIR}/configs/bforceA.conf ${CURDIR}/etc/bforceA.conf + sed -i -e "s/%PROTO%/$1/" ${CURDIR}/etc/bforceA.conf + sed -i -e "s#%TESTZONE%#${CURDIR}#" ${CURDIR}/etc/bforceA.conf + + cp ${CURDIR}/configs/bforceB.conf ${CURDIR}/etc/bforceB.conf + sed -i -e "s/%PROTO%/$1/" ${CURDIR}/etc/bforceB.conf + sed -i -e "s#%TESTZONE%#${CURDIR}#" ${CURDIR}/etc/bforceB.conf + + cp ${CURDIR}/configs/00010002.cut ${CURDIR}/outboundA/00010002.cut + cp ${CURDIR}/configs/00010001.cut ${CURDIR}/outboundB/00010001.cut +} + +function testcomm() { + rm -rf ${CURDIR}/inboundA/* + rm -rf ${CURDIR}/inboundB/* + + mkfifo ${CURDIR}/bforceAtoB + mkfifo ${CURDIR}/bforceBtoA + + BFCFGA=${CURDIR}/etc/bforceA.conf + BFCFGB=${CURDIR}/etc/bforceB.conf + + BFCONFIG=${BFCFGA} + BFCONFIG=${BFCFGA} ${BFBIN} -o 99:1/2 > ${CURDIR}/bforceAtoB < ${CURDIR}/bforceBtoA & + # + + BFCONFIG=${BFCFGB} + BFCONFIG=${BFCFGB} ${BFBIN} -S"CONNECT 9600" auto < ${CURDIR}/bforceAtoB > ${CURDIR}/bforceBtoA + + rm ${CURDIR}/{bforceAtoB,bforceBtoA} + + ## WE MUST CHECK THAT INBOUND ARE FULL!!! ## + FCNTA=$( find ${CURDIR}/inboundA -name *.pkt | wc -l ) + FCNTB=$( find ${CURDIR}/inboundB -name *.pkt | wc -l ) + DIFFA=$( diff ${CURDIR}/inboundA/*.pkt ${CURDIR}/configs/00010001.cut && echo $? ) + DIFFB=$( diff ${CURDIR}/inboundB/*.pkt ${CURDIR}/configs/00010002.cut && echo $? ) + + if [[ "${DIFFA}" -eq "0" ]] && [[ "${FCNTA}" -eq "1" ]] + then + if [[ "${DIFFB}" -eq "0" ]] && [[ "${FCNTB}" -eq "1" ]] + then + echo "....Result: OK" + else + echo "....Failed DiffB" + fi + else + echo "....Failed DiffA" + fi + + cat ${CURDIR}/logsA/bf-debug >> ${CURDIR}/debugA.log + cat ${CURDIR}/logsB/bf-debug >> ${CURDIR}/debugB.log +} + +if [[ ! -d "${CURDIR}/inboundA" ]] +then + echo "All clear to begin" +else + echo "Dir exists!" + rm -rf {etc,inboundA,inboundB,inbound-unsecureA,inbound-unsecureB,logsA,logsB,outboundA,outboundB} +fi +mkdir -p "${CURDIR}"/{etc,inbound-unsecureA,inbound-unsecureB,inboundA,inboundB,logsA,logsB,outboundA,outboundB} + +if [[ ! -f "${BFBIN}" ]] +then + # No executable to test! + echo "No executable to run! Aborting..." +else + # All doing here + echo "Bforce executable found" + + prepconfig "ZMO" + echo -n "--> Running ZMO test..." + testcomm + + prepconfig "ZAP" + echo -n "--> Running ZAP test..." + testcomm + + prepconfig "HYD" + echo -n "--> Running Hydra test..." + testcomm + +fi + + + +rm -rf {etc,inboundA,inboundB,inbound-unsecureA,inbound-unsecureB,logsA,logsB,outboundA,outboundB}