Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
Synchronet
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Main
Synchronet
Commits
00c7b112
Commit
00c7b112
authored
7 years ago
by
deuce
Browse files
Options
Downloads
Patches
Plain Diff
Revert changes I made... hopefully.
parent
3ef055c4
No related branches found
No related tags found
No related merge requests found
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
exec/fschat.js
+8
-1
8 additions, 1 deletion
exec/fschat.js
exec/ircbot.js
+2
-2
2 additions, 2 deletions
exec/ircbot.js
exec/showsixel.js
+15
-42
15 additions, 42 deletions
exec/showsixel.js
exec/websocketservice.js
+21
-14
21 additions, 14 deletions
exec/websocketservice.js
with
46 additions
and
59 deletions
exec/fschat.js
+
8
−
1
View file @
00c7b112
...
@@ -111,6 +111,13 @@
...
@@ -111,6 +111,13 @@
// console.write(stamp + " ");
// console.write(stamp + " ");
// }
// }
if
(
!
msg
.
nick
)
{
console
.
attributes
=
chat_settings
.
NOTICE_COLOR
;
console
.
writeln
(
msg
.
str
);
return
;
}
console
.
attributes
=
chat_settings
.
CHANNEL_COLOR
;
console
.
attributes
=
chat_settings
.
CHANNEL_COLOR
;
console
.
write
(
"
[
"
+
chan
.
name
+
"
]
"
);
console
.
write
(
"
[
"
+
chan
.
name
+
"
]
"
);
...
@@ -149,7 +156,7 @@
...
@@ -149,7 +156,7 @@
case
'
/
'
:
case
'
/
'
:
console
.
attributes
=
chat_settings
.
COMMAND_COLOR
;
console
.
attributes
=
chat_settings
.
COMMAND_COLOR
;
console
.
write
(
k
);
console
.
write
(
k
);
chat
.
handle_comman
d
(
channels
[
channel_index
],
console
.
getstr
(
500
));
chat
.
getcm
d
(
channels
[
channel_index
],
console
.
getstr
(
500
));
break
;
break
;
/* process a sysop command */
/* process a sysop command */
case
'
;
'
:
case
'
;
'
:
...
...
This diff is collapsed.
Click to expand it.
exec/ircbot.js
+
2
−
2
View file @
00c7b112
...
@@ -190,7 +190,7 @@ function init_users() {
...
@@ -190,7 +190,7 @@ function init_users() {
while
(
uid_str
[
0
]
==
"
0
"
)
{
while
(
uid_str
[
0
]
==
"
0
"
)
{
uid_str
=
uid_str
.
slice
(
1
);
uid_str
=
uid_str
.
slice
(
1
);
}
}
printf
(
"
***Reading:
"
+
us_file
.
name
+
"
\r\n
"
);
log
(
"
***Reading:
"
+
us_file
.
name
+
"
\r\n
"
);
var
read_Masks
=
us_file
.
iniGetValue
(
null
,
"
masks
"
);
var
read_Masks
=
us_file
.
iniGetValue
(
null
,
"
masks
"
);
if
(
read_Masks
)
if
(
read_Masks
)
Masks
[
parseInt
(
uid_str
)]
=
read_Masks
.
split
(
"
,
"
);
Masks
[
parseInt
(
uid_str
)]
=
read_Masks
.
split
(
"
,
"
);
...
@@ -341,8 +341,8 @@ function main() {
...
@@ -341,8 +341,8 @@ function main() {
continue
;
continue
;
var
usr
=
new
User
(
system
.
matchuser
(
DCC_Chats
[
c
].
id
));
var
usr
=
new
User
(
system
.
matchuser
(
DCC_Chats
[
c
].
id
));
var
cmd
=
line
.
split
(
"
"
);
var
cmd
=
line
.
split
(
"
"
);
try
{
cmd
[
0
]
=
cmd
[
0
].
toUpperCase
();
cmd
[
0
]
=
cmd
[
0
].
toUpperCase
();
try
{
DCC_Chats
[
c
].
bot_command
(
cmd
);
DCC_Chats
[
c
].
bot_command
(
cmd
);
}
catch
(
err
)
{
}
catch
(
err
)
{
DCC_Chats
[
c
].
o
(
null
,
err
);
DCC_Chats
[
c
].
o
(
null
,
err
);
...
...
This diff is collapsed.
Click to expand it.
exec/showsixel.js
+
15
−
42
View file @
00c7b112
if
(
bbs
.
mods
.
CTerm_Version
===
undefined
)
{
// $Id$
// Disable parsed input... we need to do ESC processing ourselves here.
var
oldctrl
=
console
.
ctrlkey_passthru
;
console
.
ctrlkey_passthru
=-
1
;
write
(
"
\
x1b[c
"
);
load
(
'
cterm_lib.js
'
);
var
response
=
''
;
while
(
1
)
{
if
(
console
.
cterm_version
>=
1189
)
{
var
ch
=
console
.
inkey
(
0
,
2000
);
if
(
ch
==
""
)
break
;
response
+=
ch
;
if
(
/
\x
1b
\[[
=
\?
<>:
]?[
0-9;
]
+c/
)
break
;
}
var
m
=
response
.
match
(
/
\x
1b
\[
=67;84;101;114;109;
([
0-9
]
+;
[
0-9
]
+
)[
0-9;
]
*c/
);
if
(
m
==
null
)
{
bbs
.
mods
.
CTerm_Version
=
'
0
'
;
}
else
{
bbs
.
mods
.
CTerm_Version
=
m
[
1
];
}
console
.
ctrlkey_passthru
=
oldctrl
;
}
if
(
bbs
.
mods
.
CTerm_Version
!==
undefined
)
{
var
ctv
=
bbs
.
mods
.
CTerm_Version
.
split
(
/;/
);
if
(
ctv
[
0
]
>=
1
&&
ctv
[
1
]
>=
189
)
{
var
image
=
new
File
(
argv
[
0
]);
var
image
=
new
File
(
argv
[
0
]);
if
(
image
.
exists
)
{
if
(
image
.
exists
)
{
if
(
image
.
open
(
"
rb
"
,
true
))
{
if
(
image
.
open
(
"
rb
"
,
true
))
{
...
@@ -45,4 +19,3 @@ if (bbs.mods.CTerm_Version !== undefined) {
...
@@ -45,4 +19,3 @@ if (bbs.mods.CTerm_Version !== undefined) {
}
}
}
}
}
}
}
This diff is collapsed.
Click to expand it.
exec/websocketservice.js
+
21
−
14
View file @
00c7b112
...
@@ -51,7 +51,7 @@ var FWebSocketState = WEBSOCKET_NEED_PACKET_START;
...
@@ -51,7 +51,7 @@ var FWebSocketState = WEBSOCKET_NEED_PACKET_START;
try
{
try
{
// Parse and respond to the WebSocket handshake request
// Parse and respond to the WebSocket handshake request
if
(
ShakeHands
())
{
if
(
ShakeHands
())
{
SendToWebSocketClient
(
"
Re-directing to telnet server...
"
.
split
(
"
"
));
SendToWebSocketClient
(
StringToBytes
(
"
Re-directing to telnet server...
\r\n
"
));
// Connect to the local synchronet server
// Connect to the local synchronet server
FServerSocket
=
new
Socket
();
FServerSocket
=
new
Socket
();
...
@@ -91,7 +91,7 @@ try {
...
@@ -91,7 +91,7 @@ try {
}
else
{
}
else
{
// FServerSocket.connect() failed
// FServerSocket.connect() failed
log
(
LOG_ERR
,
"
Unable to connect to telnet server
"
);
log
(
LOG_ERR
,
"
Unable to connect to telnet server
"
);
SendToWebSocketClient
(
"
Unable to connect to telnet server
"
.
split
(
"
"
));
SendToWebSocketClient
(
StringToBytes
(
"
ERROR:
Unable to connect to telnet server
\r\n
"
));
mswait
(
2500
);
mswait
(
2500
);
}
}
}
else
{
}
else
{
...
@@ -125,7 +125,7 @@ function GetFromTelnetServer() {
...
@@ -125,7 +125,7 @@ function GetFromTelnetServer() {
var
Result
=
[];
var
Result
=
[];
var
InByte
=
0
;
var
InByte
=
0
;
while
(
FServerSocket
.
data_waiting
)
{
while
(
FServerSocket
.
data_waiting
&&
(
Result
.
length
<=
4096
)
)
{
InByte
=
FServerSocket
.
recvBin
(
1
);
InByte
=
FServerSocket
.
recvBin
(
1
);
switch
(
FTelnetState
)
{
switch
(
FTelnetState
)
{
...
@@ -203,6 +203,7 @@ function GetFromWebSocketClient() {
...
@@ -203,6 +203,7 @@ function GetFromWebSocketClient() {
case
0
:
return
GetFromWebSocketClientDraft0
();
case
0
:
return
GetFromWebSocketClientDraft0
();
case
7
:
case
7
:
case
8
:
case
8
:
case
13
:
return
GetFromWebSocketClientVersion7
();
return
GetFromWebSocketClientVersion7
();
}
}
}
}
...
@@ -288,17 +289,14 @@ function GetFromWebSocketClientVersion7() {
...
@@ -288,17 +289,14 @@ function GetFromWebSocketClientVersion7() {
InByte
=
(
client
.
socket
.
recvBin
(
1
)
^
FFrameMask
[
FFramePayloadReceived
++
%
4
]);
InByte
=
(
client
.
socket
.
recvBin
(
1
)
^
FFrameMask
[
FFramePayloadReceived
++
%
4
]);
// Check if the byte needs to be UTF-8 decoded
// Check if the byte needs to be UTF-8 decoded
if
(
InByte
<
128
)
{
if
(
(
InByte
&
0x80
)
===
0
)
{
Result
.
push
(
InByte
);
Result
.
push
(
InByte
);
}
else
if
((
InByte
>
191
)
&&
(
InByte
<
224
)
)
{
}
else
if
((
InByte
&
0xE0
)
===
0xC0
)
{
// Handle UTF-8 decode
// Handle UTF-8 decode
InByte2
=
(
client
.
socket
.
recvBin
(
1
)
^
FFrameMask
[
FFramePayloadReceived
++
%
4
]);
InByte2
=
(
client
.
socket
.
recvBin
(
1
)
^
FFrameMask
[
FFramePayloadReceived
++
%
4
]);
Result
.
push
(((
InByte
&
31
)
<<
6
)
|
(
InByte2
&
63
));
Result
.
push
(((
InByte
&
31
)
<<
6
)
|
(
InByte2
&
63
));
}
else
{
}
else
{
// Handle UTF-8 decode (should never need this, but included anyway)
log
(
LOG_ERR
,
"
Byte out of range:
"
+
InByte
);
InByte2
=
(
client
.
socket
.
recvBin
(
1
)
^
FFrameMask
[
FFramePayloadReceived
++
%
4
]);
InByte3
=
(
client
.
socket
.
recvBin
(
1
)
^
FFrameMask
[
FFramePayloadReceived
++
%
4
]);
Result
.
push
(((
InByte
&
15
)
<<
12
)
|
((
InByte2
&
63
)
<<
6
)
|
(
InByte3
&
63
));
}
}
// Check if we've received the full payload
// Check if we've received the full payload
...
@@ -328,6 +326,7 @@ function SendToWebSocketClient(AData) {
...
@@ -328,6 +326,7 @@ function SendToWebSocketClient(AData) {
break
;
break
;
case
7
:
case
7
:
case
8
:
case
8
:
case
13
:
SendToWebSocketClientVersion7
(
AData
);
SendToWebSocketClientVersion7
(
AData
);
break
;
break
;
}
}
...
@@ -339,12 +338,14 @@ function SendToWebSocketClientDraft0(AData) {
...
@@ -339,12 +338,14 @@ function SendToWebSocketClientDraft0(AData) {
for
(
var
i
=
0
;
i
<
AData
.
length
;
i
++
)
{
for
(
var
i
=
0
;
i
<
AData
.
length
;
i
++
)
{
// Check if the byte needs to be UTF-8 encoded
// Check if the byte needs to be UTF-8 encoded
if
(
AData
[
i
]
<
12
8
)
{
if
(
(
AData
[
i
]
&
0xFF
)
<=
12
7
)
{
client
.
socket
.
sendBin
(
AData
[
i
],
1
);
client
.
socket
.
sendBin
(
AData
[
i
],
1
);
}
else
{
}
else
if
((
AData
[
i
]
&
0xFF
)
<=
2047
)
{
// Handle UTF-8 encode
// Handle UTF-8 encode
client
.
socket
.
sendBin
((
AData
[
i
]
>>
6
)
|
192
,
1
);
client
.
socket
.
sendBin
((
AData
[
i
]
>>
6
)
|
192
,
1
);
client
.
socket
.
sendBin
((
AData
[
i
]
&
63
)
|
128
,
1
);
client
.
socket
.
sendBin
((
AData
[
i
]
&
63
)
|
128
,
1
);
}
else
{
log
(
LOG_ERR
,
"
Byte out of range:
"
+
AData
[
i
]);
}
}
}
}
...
@@ -376,9 +377,14 @@ function SendToWebSocketClientVersion7(AData) {
...
@@ -376,9 +377,14 @@ function SendToWebSocketClientVersion7(AData) {
client
.
socket
.
sendBin
(
126
,
1
);
client
.
socket
.
sendBin
(
126
,
1
);
client
.
socket
.
sendBin
(
ToSend
.
length
,
2
);
client
.
socket
.
sendBin
(
ToSend
.
length
,
2
);
}
else
{
}
else
{
// NOTE: client.socket.sendBin(ToSend.length, 8); didn't work, so this
// modification limits the send to 2^32 bytes (probably not an issue)
// Probably should look into a proper fix at some point though
client
.
socket
.
sendBin
(
127
,
1
);
client
.
socket
.
sendBin
(
127
,
1
);
client
.
socket
.
sendBin
(
ToSend
.
length
,
8
);
client
.
socket
.
sendBin
(
0
,
4
);
client
.
socket
.
sendBin
(
ToSend
.
length
,
4
);
}
}
for
(
var
i
=
0
;
i
<
ToSend
.
length
;
i
++
)
{
for
(
var
i
=
0
;
i
<
ToSend
.
length
;
i
++
)
{
client
.
socket
.
sendBin
(
ToSend
[
i
]
&
0xFF
,
1
);
client
.
socket
.
sendBin
(
ToSend
[
i
]
&
0xFF
,
1
);
}
}
...
@@ -407,6 +413,7 @@ function ShakeHands() {
...
@@ -407,6 +413,7 @@ function ShakeHands() {
return
ShakeHandsDraft0
();
return
ShakeHandsDraft0
();
case
7
:
case
7
:
case
8
:
case
8
:
case
13
:
return
ShakeHandsVersion7
();
return
ShakeHandsVersion7
();
default
:
default
:
// TODO If this version does not
// TODO If this version does not
...
@@ -543,7 +550,7 @@ function ShakeHandsVersion7() {
...
@@ -543,7 +550,7 @@ function ShakeHandsVersion7() {
"
Upgrade: websocket
\r\n
"
+
"
Upgrade: websocket
\r\n
"
+
"
Connection: Upgrade
\r\n
"
+
"
Connection: Upgrade
\r\n
"
+
"
Sec-WebSocket-Accept:
"
+
Encoded
+
"
\r\n
"
;
"
Sec-WebSocket-Accept:
"
+
Encoded
+
"
\r\n
"
;
if
(
'
SubProtocol
'
in
FWebSocketHeader
)
Response
+=
"
Sec-WebSocket-Protocol:
"
+
FWebSocketHeader
[
'
SubProtocol
'
]
+
"
\r\n
"
;
if
(
'
SubProtocol
'
in
FWebSocketHeader
)
Response
+=
"
Sec-WebSocket-Protocol:
plain
\r\n
"
;
// Only sub-protocol we support
Response
+=
"
\r\n
"
;
Response
+=
"
\r\n
"
;
// Send the response and return
// Send the response and return
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment