[LBBS-36] net_telnet: Improve protocol support

LBBS-13
pty.c: Attempt to lock previously destroyed mutex
PHREAKSCAN-1
Raw data upload restricted to 15M
PHREAKSCRIPT-20
dsp.c: coin DSP patch breaks faxing
CAMI-1
Action Originate Returns -1
ASTERISK-82
app_queue: Allow queue strategy to be manipulated externally
PHREAKSCRIPT-28
app_predial: Failure to retrieve user agent property
LBBS-57
Occasional 100% CPU usage on SSH session termination
LBBS-14
net_imap: SEGV in strncmp
PHREAKSCRIPT-36
app_audichron: Tone not working after announcements
WSSMAIL-1
Preview pane doesn't take up allotted space
SLACK-5
Failed to receive reply... when message sent
SLACK-4
Slack client exits due to SSL_ERROR_ZERO_RETURN
ASTERISK-92
config.c: ast_variable_update doesn't update all instances
ASTERISK-81
format_lame: MP3 read and write with LAME library
WSSMAIL-3
Message listing missing recipient for some messages
LBBS-65
net_smtp: Allow internal trusted hosts to be exempt from protocol violation checks
ASTERISK-102
app_voicemail: Play RDNIS if present when listening to envelope
DAHLIN-4
Improve manual span assignment process
ASTERISK-68
res_pjsip_sca: Segfaults on startup with SCA
ASTERISK-111
chan_dahdi: MWI while off-hook when hung up on after recall ring
ASTERISK-88
chan_dahdi: Add ADSI on-hook download support
ASTERISK-83
res_pjsip_device_features: Add forwarding and DND synchronization
ASTERISK-19
chan_dahdi: Remove sig_analog paths
ASTERISK-78
sig_analog: Add Last Number Redial
ASTERISK-77
sig_analog: Add Call Waiting Deluxe support
LBBS-64
mod_operator: Crash with more than 64 options?
LBBS-19
tls.c: Occasional SEGV at shutdowns of TLS connections
ASTERISK-71
app_if: ElseIf executed even if If is true
PHREAKNET-42
Provisioning fails for lines with certain features
PHREAKNET-40
Recent Change provisioning bug increments device name by 1
LBBS-70
mod_smtp_delivery_external: Use SRS for externally forwarded messages
PHREAKSCRIPT-30
MD5/RSA authenticated calls frequently fail
ASTERISK-97
func_groupcount: Add group vars
PHREAKNET-35
TSPS improvements
PHREAKNET-23
Wakeup calls not dialling at scheduled time
ASTERISK-115
chan_iax2: Some pattern matches ignored if included in incoming context
ASTERISK-112
chan_dahdi: Raw power ring audible on recall ring from IAX2 to DAHDI
LBBS-32
mod_spamassassin: Improve default spam handling
LBBS-6
Add menu system scripting engine
ASTERISK-66
app_sf: ReceiveSF not detecting incoming SF
EVERGREEN-1
Use default identity per folder
ASTERISK-110
chan_iax2: Implement MWI
PHREAKNET-34
Pat Fleet prompts
ASTERISK-80
app_record: Add RECORD_TIME function
INTERLINKED-2
PhreakNet Email for BoD Members
PHREAKSCRIPT-39
Add optional flag to not update system first
LBBS-58
net_irc: Make ping interval adjustable
WSSMAIL-6
Add option to auto-reconnect if disconnected
DAHLIN-1
Makefile: remove update target
ASTERISK-64
chan_dahdi: autoreoriginate doesn't work if caller hung up on
LBBS-66
logger: Add rate limiting of log messages
INTERLINKED-16
Add option to not be notified about
ASTERISK-106
chan_pjsip: Modify From header appropriately for unavailable presentation
LBBS-60
Prevent clients from monopolizing nodes (DOS)
LBBS-46
Block malicious mail servers after repeated failures
ASTERISK-52
dsp.c: Add ast_freq_reset
LBBS-11
door_evergreen: Use isonetexec instead of exec
LBBS-7
Fix backspace detection/handling
LBBS-3
module.c: Module ref tracking is flaky
ASTERISK-37
chan_pjsip: CALLERID(ani2) not working
ASTERISK-36
res_pjsip_logger: Add filtering by username
ASTERISK-108
config.c: Investigate and fix various config file rewrite bugs
ASTERISK-90
chan_iax2: Add log message for rejected calls
ASTERISK-27
chan_dahdi: add IS_FXO_SIG macro
ASTERISK-103
GitHub Issue 661 was not autoclosed by PR
SLACK-2
README: Add missing pre-reqs
ASTERISK-55
chan_dahdi: add NUM_ANALOG_SUBS
ASTERISK-34
app_queue: Allow setting context at runtime
ASTERISK-31
Add AMI event for assertion
ASTERISK-30
Add ast_channel_tech_name_match function
ASTERISK-29
chan_iax2: Add ${CHANNEL(authmethod)}
ASTERISK-15
chan_dahdi: Allow sending SDMF Caller ID
ASTERISK-98
Add hangup callbacks
ASTERISK-47
res_pjsip_session: Warn if no shared codecs
ASTERISK-86
app_confbridge: Channel can join wrong bridge due to race condition
INTERLINKED-6
PhreakNet Forums
LBBS-16
io_compress: Occasional memory corruption on shutdown
LBBS-41
socket.c: SEGV in bbs_node_readline
LBBS-69
net_ssh: SFTP uploads fail with WinSCP
PHREAKSCRIPT-19
app_verify: Double free
PHREAKNET-14
1+ calls do not work for single numbers
PHREAKNET-6
Verification flags international calls
DAHLIN-5
FXO rings off hook when rotary dialing on the line
ASTERISK-105
chan_dahdi: Add CLI command to display line voltages
PHREAKSCRIPT-37
app_softmodem: Support speeds higher than 2400bps
ASTERISK-93
chan_dahdi: DSP optimizations
WSSMAIL-13
Improve multi-INBOX navigation
LBBS-47
Email enhancements
PHREAKNET-41
Allow for more granular billing based on switch ZIP code
LBBS-56
net_snpp: Add Simple Network Paging Protocol support
ASTERISK-101
func_tonedetect: 2600 Hz detection not working or suboptimal
PHREAKNET-39
Splice Fred Covington prompts for speaking clock
LBBS-48
net_irc: Support multi-server networks
EVERGREEN-3
Add NNTP support for newsgroups
PHREAKSCAN-2
Improve automation
LBBS-38
mod_smtp_mailing_lists: Allow dynamic membership
LBBS-36
net_telnet: Improve protocol support
LBBS-35
net_acap: Add ACAP protocol support
WSSMAIL-5
Add full attachment support
WSSMAIL-4
Add PHPMailer support for format=flowed
PHREAKNET-33
Finish TSPS web console
ASTERISK-7
Improve sound control capabilities
LBBS-31
mod_sieve: Major Sieve filtering overhaul and improvements
ASTERISK-99
pjsip: Add Cisco CUCM patch functionality
LBBS-49
Add functionality expected of a traditional BBS package
LBBS-34
net_xmpp: Add XMPP protocol support
LBBS-33
net_imap: Add/standardize commands to modify or purge keywords
ASTERISK-75
chan_dahdi: Add Call Hold feature
LBBS-30
net_nntp: Complete overhaul/rewrite to use maildirs
ASTERISK-57
bridging: Make DAHDI, always softmix bridging modules
EVERGREEN-2
Navigation breaks when requirefromhelomatch=no in LBBS
DOCS-1
Kickstart the wiki
ASTERISK-79
config.c: Make ast_variable_retrieve return last match
ASTERISK-87
asterisk.c: Prevent creation of duplicate Asterisk processes
PHREAKNET-36
Trunking integration with Phil McCarter
ASTERISK-16
res_pbx_validate: Add commands to warn of dialplan problems
PHREAKSCRIPT-33
verify.conf: Flag invalid NXXs as illegitimate for NANPA calls
LBBS-61
net_imap: Soft assertion in parse_flags_string
LBBS-63
net_imap, io_compress: Spurious warnings if quota exceeded
WSSMAIL-10
Can scroll down past bottom of page on larger screens
ASTERISK-100
chan_dahdi: PRI lock held at module unload
LBBS-39
net_smtp: Occasional memory corruption on email delivery
LBBS-37
Restrict outgoing port 25 from containers while allowing other traffic
LBBS-23
net_smtp: DMARC reports not sent due to rejection of localhost
LBBS-21
net_imap: Proxy clients orphaned without associated IMAP session
LBBS-20
node.c: Occasional race conditions during node shutdown cause deadlock
LBBS-18
net_ssh: High CPU trying to end SSH session
LBBS-17
Temporary files not always cleaned up
ASTERISK-109
voicemail.conf.sample: Clarify misnamed option behavior
PHREAKSCRIPT-35
app_mail: SendMail returns SUCCESS
LBBS-51
General TDD improvements
PHREAKSCRIPT-23
res_phreaknet: Increase cURL timeout
ASTERISK-94
app_chanspy: Fix bad audio with single direction operation
ASTERISK-76
app_dial: Allow MOH until progress received
LBBS-28
mod_discord: Warn users if IRC users are not online
PHREAKSCRIPT-16
app_selective: Missing pause after add/delete/instructions prompt
DAHTOOL-2
dahdi_cfg: Compiler warnings
ASTERISK-43
pbx_builtins: allow Answer to specify the channel
ASTERISK-35
sig_analog: Fix buffer overflow
WSSMAIL-15
Allow navigating messages using arrow keys
ASTERISK-104
Improve dahdi show channels output
PHREAKSCRIPT-29
res_phreaknet: Don't try making API requests if not a PhreakNet node
LBBS-59
Add HTTP endpoint for updating IRC presence automatically
WSSMAIL-14
Checkbox range selection doesn't always work reliably
PHREAKSCRIPT-34
app_verify: Check additional headers for STIR/SHAKEN attestation
WSSMAIL-11
Use accurate hyperlinks for folders
SLACK-3
examples: Add example program to log everything to a CSV
PHREAKSCRIPT-22
Add framehook to display dialed digits
PHREAKSCRIPT-21
app_looparound: Add LoopAround application
LBBS-45
Use isoexec whenever possible
PHREAKSCRIPT-17
res_phreaknet: iax.conf, et. al. are truncated when there is no disk space left
LBBS-44
io_tls: TLS errors when no certs are defined
LBBS-43
mod_discord: Improve handling of in-thread replies
LBBS-42
mod_discord: Actions not relayed properly from IRC
LBBS-40
net_smtp: Add additional loop avoidance mechanisms
ASTERISK-73
chan_dahdi: Hunt to next trunk in group if busy
LBBS-29
net_irc: Add reminder bot
ASTERISK-69
res_cli_originate: Allow specifying Caller ID on CLI
DAHLIN-3
build: Compiler warnings
ASTERISK-65
sig_analog: Allow simple switch to time out to dialplan
LBBS-10
mod_sysop: Allow modifying user info from console
LBBS-8
net_imap: Accounts occasionally fail to load or are reordered
LBBS-5
tests: Add TLS tests
LBBS-4
tests: Add tests that establish remote console connections
LBBS-2
module.c: Improve module loading process
ASTERISK-63
Upstream certain PhreakScript modules
ASTERISK-53
formats: add ulaw/alaw WAV support
ASTERISK-51
app_originate: Allow spooling future calls
INTERLINKED-4
InterLinked Issues API
PHREAKNET-7
Subscriber Service Disconnect Request Option
INTERLINKED-17
Blog: Issues with tag editing and viewing
INTERLINKED-15
Improve paging API
PHREAKNET-45
Operator system PSPs are outdated
LBBS-22
mod_mail_trash: Eliminate bbs_pthread_cancel_kill
LBBS-52
net_smtp: Add limited support for VRFY and EXPN
PHREAKSCRIPT-25
chan_sccp no longer compiles
WSSMAIL-8
Add NNTP support and IRC integration
PHREAKSCRIPT-18
Add better test coverage for 32-bit systems
ASTERISK-84
Add 'core show variables' command
ASTERISK-74
chan_dahdi: Add AMI event for callwaiting
WSSMAIL-7
Add ability for zero-trust type authentication
LBBS-27
mod_irc_relay: Allow relaying of away/here status
LBBS-24
build: Pre-reqs don't compile on Fedora
LBBS-9
mod_webmail: Improve MIME parsing to extract HTML/PT components
ASTERISK-58
xml: Add config documentation
ASTERISK-56
res_musiconhold: Add recursive files support
PHREAKNET-32
Set up Millennium Manager
PHREAKNET-24
[REQ] TTY Telegrams
ASTERISK-11
chan_dahdi: Add wink guard
ASTERISK-8
Optimize boilerplate RSA to MD5 fallback
PHREAKNET-20
Billing based on individual CLLI zip codes
PHREAKNET-1
Add third-party billing integration
PHREAKNET-10
Enhanced utilization of Feature Group D
ASTERISK-10
Proctor application for DAHDI
PHREAKNET-9
General ARTNVAAXCG0 enhancements
INTERLINKED-7
TTY BBS lines (45.5+50) issues
ASTERISK-85
chan_pjsip: Add channel encryption integration
ASTERISK-89
app_stack: Print proper exit location for PBXless channels
LBBS-15
smtp: Locking errors, deadlock when queue runs during delivery
PHREAKSCRIPT-24
DAHDI builds in GitHub CI occasionally fail due to IPv6
ASTERISK-67
voicemail.conf.sample: maxsilence/minsecs trigger warning
ASTERISK-50
app_dial: Fix or document r tonezone option
DAHTOOL-1
system.conf: Fix typos
ASTERISK-40
pjsip: document MessageSend AOR limitation
ASTERISK-32
chan_dahdi: Allow Call Forwarding to be set/get programatically
ASTERISK-25
app_originate: allow early media, labels
ASTERISK-24
app_chanspy: Add no answer option
LBBS-1
mod_slack: Workspace fails to initialize due to restrictions
ASTERISK-22
general: Fix various typos
ASTERISK-107
indications.conf.sample: Add confirmation tone
WSSMAIL-12
Add one-click "Not junk" button
PHREAKNET-44
Show only sum of message units used per month on bills
ASTERISK-46
dsp.c: Remove ast_ prefixes for static functions
WSSMAIL-9
Sent email uploads can fail due to relative host difference
ASTERISK-95
testsuite README: Update outdated references
ASTERISK-91
features.c: Add warning to not set BRIDGE_NOANSWER as global variable
ASTERISK-72
chan_dahdi: Move documentation to separate file
ASTERISK-70
loader.c: Print module build opt sums if they differ
LBBS-25
mod_mail_trash: Attempts to open files as directories
ASTERISK-62
app_followme: use enum for tmpuser->state
ASTERISK-61
func_groupcount: Add see-also for GROUP functions
ASTERISK-59
chan_dahdi: Remove stripmsd
ASTERISK-49
Remove all deprecated stuff
ASTERISK-48
func_devstate: Delete empty from AstDB
ASTERISK-44
format_pcm: Fix seek past end
DAHLIN-2
Fix typos and dead links
ASTERISK-42
sig_pri: Add CLI description
ASTERISK-41
app_confbridge: Document binaural_active
ASTERISK-39
app_dial: ANSWEREDTIME documentation
ASTERISK-38
config: Fix missing config log consistency
ASTERISK-28
ast_auto_answer: Use when possible
ASTERISK-23
logging: Update log levels
ASTERISK-21
app_dial: Remove dead debug code
ASTERISK-20
app_meetme: Update or remove removal version
ASTERISK-13
Asterisk Framehook: DTMF to MF
ASTERISK-114
chan_iax2: DP cache warning when using switch
ASTERISK-113
app_disa: Unrecognized option when providing context
ASTERISK-96
asterisk.adsi: Add Call Waiting Deluxe integration to resident script
PHREAKSCRIPT-15
app_dialtone: t option should exclude matches that include #
PHREAKNET-37
Chirp should be audible upon on-hook of calls on a 2600 trunk
ASTERISK-54
loader: Fix reloading using config name
ASTERISK-45
app_voicemail: Option 4 at main menu
ASTERISK-33
docs: Update obsolete wiki links
ASTERISK-26
app_voicemail: make maxsecs user-configurable
PHREAKSCRIPT-13
func_fsk_connectedline: Connected Line to FSK framehook
ASTERISK-18
func_frame_drop: Simplify and improve
INTERLINKED-5
Update blue box
ASTERISK-3
Asterisk Wiki issues
PHREAKSCRIPT-14
app_selective: Allow wildcard * patterns
ASTERISK-14
musiconhold: Add custom generator for channels

← All Issues || New Issue →

Sort Normal || Priority

Details


net_telnet does not actually implement the Telnet protocol completely correctly. It takes a shortcut of implementing it during negotiation, but after negotiation has completed, the Telnet protocol handling "disappears" and it's just straight-up TCP relaying at that point.

The main user-facing quirk of this is that window resizing during a session doesn't work with Telnet, but works with SSH (as the SSH library handles this out of band for us). RLogin also has the same problem I believe.

First and foremost, it would be good to have Telnet work properly at all points during a session, not just the beginning. However, this would likely result in needing another relay thread, with the current I/O architecture of the BBS, which is far from ideal. TELNETS session already involve 3 threads, one for TLS, one for the PTY, and one for the node, and this would now add a fourth thread (!!!) In theory, the PTY thread could probably do this work, but the PTY thread already does a bunch of stuff it probably shouldn't, and this would neither be semantic nor modular to embed Telnet-specific logic into the BBS core.

Other terminal support that has also been proposed, which could follow from this (but should only follow after the above work has been completed) is support for the following terminal types:

These would likely be in separate net_ modules, but the net_telnet changes needed might drive some changes that could be helpful for those.


Comments

You must be logged in to leave a comment.