sctp-socket 0.0.7 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +3 -3
- data/.github/workflows/ruby.yml +37 -0
- data/CHANGES.md +20 -0
- data/README.md +13 -3
- data/Rakefile +11 -0
- data/ext/sctp/socket.c +891 -227
- data/sctp-socket.gemspec +7 -6
- data.tar.gz.sig +0 -0
- metadata +21 -19
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5ad81d72b62e06897cdc0704d1ea3213392697884787d698bab4985c0e7c822e
|
4
|
+
data.tar.gz: 975927d8093ff35fe599a51b0d94fd0402cb15de8225dd0143e2598eb35c6ff1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8a46199d3d957907bbd3b95b321887018944c964ce12f1650125339445811693b6b9ac08ad894901d94842145ad699114f48c66b6f7dda95a0b859a46625006f
|
7
|
+
data.tar.gz: 54f42c50b8d63dc1fbd30497064bf605f0fc8e83bd61e27badb10cad9319fe84fe8dbb14bd40455b5d86709537072f99be17dab57a7cb1aa6662238f54e10f08
|
checksums.yaml.gz.sig
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
�
|
1
|
+
F��A'�Je5M6$�/'�I�>~����{�F+�`�x�A_0Ѭ�oO�ş�6��;b��QN2Z�4��#��m)+|���$���n����k��y�yo�Oc�q�cቌ�Jΐ9ؙ"/?M�~�m���w�~^�����Z]��m��c�.�� ��T���!��s�!�c�h[�4�h_|�UW�}���û���ĵHk/IR��%���U_$��ɬt��iҀ� �4$u���l<�yŵ{ݕ9J
|
2
|
+
�M�����6fL����9�.�f���o�� 1>�Ǟ�g�3�>�
|
3
|
+
�G�r������Rj�1�Av�*;������eWq8����1="���Y�y��}�-�ґ��������*�(~h�1H���f�3��
|
@@ -0,0 +1,37 @@
|
|
1
|
+
name: Ruby
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches: [ main ]
|
6
|
+
paths-ignore:
|
7
|
+
- '**/*.md'
|
8
|
+
pull_request:
|
9
|
+
branches: [ main ]
|
10
|
+
paths-ignore:
|
11
|
+
- '**/*.md'
|
12
|
+
workflow_dispatch:
|
13
|
+
|
14
|
+
jobs:
|
15
|
+
test:
|
16
|
+
runs-on: ubuntu-latest
|
17
|
+
strategy:
|
18
|
+
matrix:
|
19
|
+
ruby-version: ['3.2', '3.3']
|
20
|
+
steps:
|
21
|
+
- uses: actions/checkout@v4
|
22
|
+
- name: Install SCTP headers
|
23
|
+
run: |
|
24
|
+
sudo apt-get install libsctp-dev lksctp-tools
|
25
|
+
sudo ip link add dummy1 type dummy
|
26
|
+
sudo ip link add dummy2 type dummy
|
27
|
+
sudo ip addr add 1.1.1.1/24 dev dummy1
|
28
|
+
sudo ip addr add 1.1.1.2/24 dev dummy2
|
29
|
+
sudo ip link set dummy1 up
|
30
|
+
sudo ip link set dummy2 up
|
31
|
+
- name: Setup Ruby
|
32
|
+
uses: ruby/setup-ruby@v1
|
33
|
+
with:
|
34
|
+
ruby-version: ${{ matrix.ruby-version }}
|
35
|
+
bundler-cache: true
|
36
|
+
- name: Run Specs
|
37
|
+
run: bundle exec rake
|
data/CHANGES.md
CHANGED
@@ -1,3 +1,23 @@
|
|
1
|
+
## 0.1.1 - 1-Jan-2025
|
2
|
+
* Added the set_shared_key method.
|
3
|
+
* Added the get_active_shared_key and set_active_shared_key methods.
|
4
|
+
* Added the get_initmsg method.
|
5
|
+
* Added autoclose getter and setter methods.
|
6
|
+
* Added the enable_auth_support method.
|
7
|
+
* Added methods for getting, setting or deleting a shared key.
|
8
|
+
* Added the map_ipv4 method.
|
9
|
+
* Updated the get_peer_address_params method to include more info.
|
10
|
+
* Many comment additions and updates.
|
11
|
+
* Added a rake task to create dummy IP addresses for testing.
|
12
|
+
* Added a funding_uri to the gemspec.
|
13
|
+
|
14
|
+
## 0.1.0 - 31-May-2024
|
15
|
+
* Added support for sender dry events.
|
16
|
+
* Added the get_peer_address_params method.
|
17
|
+
* Comments were added to methods that were missing them.
|
18
|
+
* Remove version locking for dev dependencies, doesn't matter to me.
|
19
|
+
* Bumped version to 0.1.0, I guess I'll declare it stable.
|
20
|
+
|
1
21
|
## 0.0.7 - 28-May-2024
|
2
22
|
* Added the recvv method.
|
3
23
|
* The getlocalnames and getpeernames methods now accept optional fileno and
|
data/README.md
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
[![Ruby](https://github.com/djberg96/sctp-socket/actions/workflows/ruby.yml/badge.svg)](https://github.com/djberg96/sctp-socket/actions/workflows/ruby.yml)
|
2
|
+
|
1
3
|
## Description
|
2
4
|
|
3
5
|
A Ruby interface for SCTP sockets.
|
@@ -55,16 +57,22 @@ end
|
|
55
57
|
|
56
58
|
## Future Plans
|
57
59
|
|
58
|
-
* Add more constants.
|
59
60
|
* Add more specs.
|
60
|
-
*
|
61
|
+
* Subclass the Socket class (but see known issues below).
|
62
|
+
* Create a wrapper for the usrlibsctp implementation using FFI.
|
61
63
|
|
62
64
|
## Known Issues
|
63
65
|
|
64
66
|
Currently this has only been developed and tested on Linux. Other platforms
|
65
67
|
will probably only be supported via community contributions.
|
66
68
|
|
67
|
-
The sendv
|
69
|
+
The sendv and recvv methods may not be available. Use the sendmsg and recvmsg
|
70
|
+
methods instead.
|
71
|
+
|
72
|
+
I am currently unable to subclass the Socket class from Ruby's standard library.
|
73
|
+
For whatever reason the call to rb_call_super works, but the fileno is always
|
74
|
+
set to nil. I think it's getting confused by the IPPROTO_SCTP value for the
|
75
|
+
protocol, but I haven't nailed it down yet.
|
68
76
|
|
69
77
|
Please report any issues on the github project page.
|
70
78
|
|
@@ -75,6 +83,8 @@ Please report any issues on the github project page.
|
|
75
83
|
* https://www.linuxjournal.com/article/9748
|
76
84
|
* https://www.linuxjournal.com/article/9749
|
77
85
|
* https://www.linuxjournal.com/article/9784
|
86
|
+
* SCTP in Theory and Practice - Svetomir Dimitrov
|
87
|
+
* Stream Control Transmission Protocol (A Reference Guide) - Randall Stewart and Qiaobing Xie
|
78
88
|
|
79
89
|
## License
|
80
90
|
|
data/Rakefile
CHANGED
@@ -37,6 +37,17 @@ Rake::ExtensionTask.new('socket') do |t|
|
|
37
37
|
t.lib_dir = 'lib/sctp'
|
38
38
|
end
|
39
39
|
|
40
|
+
desc "Create dummy IP addresses to use for testing"
|
41
|
+
task :create_dummy_links do
|
42
|
+
system('sudo ip link add dummy1 type dummy')
|
43
|
+
system('sudo ip link add dummy2 type dummy')
|
44
|
+
system('sudo ip addr add 1.1.1.1/24 dev dummy1')
|
45
|
+
system('sudo ip addr add 1.1.1.2/24 dev dummy2')
|
46
|
+
system('sudo ip link set dummy1 up')
|
47
|
+
system('sudo ip link set dummy2 up')
|
48
|
+
system('ip link show')
|
49
|
+
end
|
50
|
+
|
40
51
|
RSpec::Core::RakeTask.new
|
41
52
|
|
42
53
|
task :spec => :compile
|