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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0475ccb484ff3e6e758c037edf11b16fdb833e49aee961a98532dfb67c84f799
4
- data.tar.gz: 70f7add0defeeb84a1ab6bb38ed3aeabb5f643bb05dea06a00a11c1934f588ed
3
+ metadata.gz: 5ad81d72b62e06897cdc0704d1ea3213392697884787d698bab4985c0e7c822e
4
+ data.tar.gz: 975927d8093ff35fe599a51b0d94fd0402cb15de8225dd0143e2598eb35c6ff1
5
5
  SHA512:
6
- metadata.gz: e5e40484afdf170570c38ab9331c99ae4a6f42ba217d97e91ecd5bfbf9296c2ef95f219498fba13b524ad08a1f00271de8be6f358f2982a4c5e45fdc190f0951
7
- data.tar.gz: f9b9dac418aeae1c79916e732d7310049812c2456c0f4f1c578641f145c2c72b73fbceb655954ad99b03c3c69a890cab9a7455930199902a40aed9de239754a8
6
+ metadata.gz: 8a46199d3d957907bbd3b95b321887018944c964ce12f1650125339445811693b6b9ac08ad894901d94842145ad699114f48c66b6f7dda95a0b859a46625006f
7
+ data.tar.gz: 54f42c50b8d63dc1fbd30497064bf605f0fc8e83bd61e27badb10cad9319fe84fe8dbb14bd40455b5d86709537072f99be17dab57a7cb1aa6662238f54e10f08
checksums.yaml.gz.sig CHANGED
@@ -1,3 +1,3 @@
1
-
2
- ���׾#��:���Ww ��m�x����TM��}��G����9����SЮ���/�e$����ǎce��1˪5��*�eNN^�=b�igE���s���x��D% p�i�`ʹ��l��3Ja�Ⱦ�x��4[�9F@�VIi����t���>v���&�\�`y�1)[�|}za˾��‰�����%�^v9o�v�tA6��
3
- 9t�Ljꔰ�Ҁ�[1&�*��[L�fV��Jz�9|G�Ek�~�j'��OJ�:I�B2��m+�D�6/�}f M�J��i =�m����7$���!*I'�}*�bb��`p����+�g�2����ؘP[K�J�1X�uup��e��q?��Y6��Z����0���5�|vs��\�X���_
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>�Ǟ�g3�>�
3
+ Gr������Rj�1�Av�*;������eWq8����1="���Yy��}�-�ґ��������*�(~h1H���f3��
@@ -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
- * Add more notifications.
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 method is not available on some Linux variants. Use the sendmsg method instead.
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