net-sftp 1.1.1 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (138) hide show
  1. data/CHANGELOG.rdoc +23 -0
  2. data/Manifest +55 -0
  3. data/README.rdoc +96 -0
  4. data/Rakefile +30 -0
  5. data/lib/net/sftp.rb +53 -38
  6. data/lib/net/sftp/constants.rb +187 -0
  7. data/lib/net/sftp/errors.rb +34 -20
  8. data/lib/net/sftp/operations/dir.rb +93 -0
  9. data/lib/net/sftp/operations/download.rb +364 -0
  10. data/lib/net/sftp/operations/file.rb +176 -0
  11. data/lib/net/sftp/operations/file_factory.rb +60 -0
  12. data/lib/net/sftp/operations/upload.rb +387 -0
  13. data/lib/net/sftp/packet.rb +21 -0
  14. data/lib/net/sftp/protocol.rb +32 -0
  15. data/lib/net/sftp/protocol/01/attributes.rb +265 -96
  16. data/lib/net/sftp/protocol/01/base.rb +268 -0
  17. data/lib/net/sftp/protocol/01/name.rb +43 -0
  18. data/lib/net/sftp/protocol/02/base.rb +31 -0
  19. data/lib/net/sftp/protocol/03/base.rb +35 -0
  20. data/lib/net/sftp/protocol/04/attributes.rb +120 -195
  21. data/lib/net/sftp/protocol/04/base.rb +94 -0
  22. data/lib/net/sftp/protocol/04/name.rb +67 -0
  23. data/lib/net/sftp/protocol/05/base.rb +66 -0
  24. data/lib/net/sftp/protocol/06/attributes.rb +107 -0
  25. data/lib/net/sftp/protocol/06/base.rb +63 -0
  26. data/lib/net/sftp/protocol/base.rb +50 -0
  27. data/lib/net/sftp/request.rb +91 -0
  28. data/lib/net/sftp/response.rb +76 -0
  29. data/lib/net/sftp/session.rb +914 -238
  30. data/lib/net/sftp/version.rb +14 -21
  31. data/net-sftp.gemspec +60 -0
  32. data/setup.rb +1331 -0
  33. data/test/common.rb +173 -0
  34. data/test/protocol/01/test_attributes.rb +97 -0
  35. data/test/protocol/01/test_base.rb +210 -0
  36. data/test/protocol/01/test_name.rb +27 -0
  37. data/test/protocol/02/test_base.rb +26 -0
  38. data/test/protocol/03/test_base.rb +27 -0
  39. data/test/protocol/04/test_attributes.rb +148 -0
  40. data/test/protocol/04/test_base.rb +74 -0
  41. data/test/protocol/04/test_name.rb +49 -0
  42. data/test/protocol/05/test_base.rb +62 -0
  43. data/test/protocol/06/test_attributes.rb +124 -0
  44. data/test/protocol/06/test_base.rb +51 -0
  45. data/test/protocol/test_base.rb +42 -0
  46. data/test/test_all.rb +3 -0
  47. data/test/test_dir.rb +47 -0
  48. data/test/test_download.rb +252 -0
  49. data/test/test_file.rb +159 -0
  50. data/test/test_file_factory.rb +48 -0
  51. data/test/test_packet.rb +9 -0
  52. data/test/test_protocol.rb +17 -0
  53. data/test/test_request.rb +71 -0
  54. data/test/test_response.rb +53 -0
  55. data/test/test_session.rb +741 -0
  56. data/test/test_upload.rb +219 -0
  57. metadata +59 -111
  58. data/doc/LICENSE-BSD +0 -27
  59. data/doc/LICENSE-GPL +0 -280
  60. data/doc/LICENSE-RUBY +0 -56
  61. data/doc/faq/faq.html +0 -298
  62. data/doc/faq/faq.rb +0 -154
  63. data/doc/faq/faq.yml +0 -183
  64. data/examples/asynchronous.rb +0 -57
  65. data/examples/get-put.rb +0 -45
  66. data/examples/sftp-open-uri.rb +0 -30
  67. data/examples/ssh-service.rb +0 -30
  68. data/examples/synchronous.rb +0 -131
  69. data/lib/net/sftp/operations/abstract.rb +0 -108
  70. data/lib/net/sftp/operations/close.rb +0 -31
  71. data/lib/net/sftp/operations/errors.rb +0 -76
  72. data/lib/net/sftp/operations/fsetstat.rb +0 -36
  73. data/lib/net/sftp/operations/fstat.rb +0 -32
  74. data/lib/net/sftp/operations/lstat.rb +0 -31
  75. data/lib/net/sftp/operations/mkdir.rb +0 -33
  76. data/lib/net/sftp/operations/open.rb +0 -32
  77. data/lib/net/sftp/operations/opendir.rb +0 -32
  78. data/lib/net/sftp/operations/read.rb +0 -88
  79. data/lib/net/sftp/operations/readdir.rb +0 -55
  80. data/lib/net/sftp/operations/realpath.rb +0 -37
  81. data/lib/net/sftp/operations/remove.rb +0 -31
  82. data/lib/net/sftp/operations/rename.rb +0 -32
  83. data/lib/net/sftp/operations/rmdir.rb +0 -31
  84. data/lib/net/sftp/operations/services.rb +0 -42
  85. data/lib/net/sftp/operations/setstat.rb +0 -33
  86. data/lib/net/sftp/operations/stat.rb +0 -31
  87. data/lib/net/sftp/operations/write.rb +0 -63
  88. data/lib/net/sftp/protocol/01/impl.rb +0 -251
  89. data/lib/net/sftp/protocol/01/packet-assistant.rb +0 -82
  90. data/lib/net/sftp/protocol/01/services.rb +0 -47
  91. data/lib/net/sftp/protocol/02/impl.rb +0 -39
  92. data/lib/net/sftp/protocol/02/packet-assistant.rb +0 -32
  93. data/lib/net/sftp/protocol/02/services.rb +0 -44
  94. data/lib/net/sftp/protocol/03/impl.rb +0 -42
  95. data/lib/net/sftp/protocol/03/packet-assistant.rb +0 -35
  96. data/lib/net/sftp/protocol/03/services.rb +0 -44
  97. data/lib/net/sftp/protocol/04/impl.rb +0 -86
  98. data/lib/net/sftp/protocol/04/packet-assistant.rb +0 -45
  99. data/lib/net/sftp/protocol/04/services.rb +0 -44
  100. data/lib/net/sftp/protocol/05/impl.rb +0 -90
  101. data/lib/net/sftp/protocol/05/packet-assistant.rb +0 -34
  102. data/lib/net/sftp/protocol/05/services.rb +0 -44
  103. data/lib/net/sftp/protocol/constants.rb +0 -60
  104. data/lib/net/sftp/protocol/driver.rb +0 -235
  105. data/lib/net/sftp/protocol/packet-assistant.rb +0 -84
  106. data/lib/net/sftp/protocol/services.rb +0 -55
  107. data/lib/uri/open-sftp.rb +0 -54
  108. data/lib/uri/sftp.rb +0 -42
  109. data/test/ALL-TESTS.rb +0 -23
  110. data/test/operations/tc_abstract.rb +0 -124
  111. data/test/operations/tc_close.rb +0 -40
  112. data/test/operations/tc_fsetstat.rb +0 -48
  113. data/test/operations/tc_fstat.rb +0 -40
  114. data/test/operations/tc_lstat.rb +0 -40
  115. data/test/operations/tc_mkdir.rb +0 -48
  116. data/test/operations/tc_open.rb +0 -42
  117. data/test/operations/tc_opendir.rb +0 -40
  118. data/test/operations/tc_read.rb +0 -103
  119. data/test/operations/tc_readdir.rb +0 -88
  120. data/test/operations/tc_realpath.rb +0 -54
  121. data/test/operations/tc_remove.rb +0 -40
  122. data/test/operations/tc_rmdir.rb +0 -40
  123. data/test/operations/tc_setstat.rb +0 -48
  124. data/test/operations/tc_stat.rb +0 -40
  125. data/test/operations/tc_write.rb +0 -91
  126. data/test/protocol/01/tc_attributes.rb +0 -138
  127. data/test/protocol/01/tc_impl.rb +0 -294
  128. data/test/protocol/01/tc_packet_assistant.rb +0 -81
  129. data/test/protocol/02/tc_impl.rb +0 -41
  130. data/test/protocol/02/tc_packet_assistant.rb +0 -31
  131. data/test/protocol/03/tc_impl.rb +0 -48
  132. data/test/protocol/03/tc_packet_assistant.rb +0 -34
  133. data/test/protocol/04/tc_attributes.rb +0 -174
  134. data/test/protocol/04/tc_impl.rb +0 -91
  135. data/test/protocol/04/tc_packet_assistant.rb +0 -38
  136. data/test/protocol/05/tc_impl.rb +0 -61
  137. data/test/protocol/05/tc_packet_assistant.rb +0 -32
  138. data/test/protocol/tc_driver.rb +0 -219
@@ -1,47 +0,0 @@
1
- #--
2
- # =============================================================================
3
- # Copyright (c) 2004, Jamis Buck (jamis@37signals.com)
4
- # All rights reserved.
5
- #
6
- # This source file is distributed as part of the Net::SFTP Secure FTP Client
7
- # library for Ruby. This file (and the library as a whole) may be used only as
8
- # allowed by either the BSD license, or the Ruby license (or, by association
9
- # with the Ruby license, the GPL). See the "doc" subdirectory of the Net::SFTP
10
- # distribution for the texts of these licenses.
11
- # -----------------------------------------------------------------------------
12
- # net-sftp website: http://net-ssh.rubyforge.org/sftp
13
- # project website : http://rubyforge.org/projects/net-ssh
14
- # =============================================================================
15
- #++
16
-
17
- module Net ; module SFTP ; module Protocol ; module V_01
18
-
19
- def register_services( container )
20
- container.namespace_define :v_01 do |ns|
21
-
22
- # The packet assistant to use for formatting SFTP packets.
23
- ns.packet_assistant do |c,|
24
- require 'net/sftp/protocol/01/packet-assistant'
25
- PacketAssistant.new( c[:transport][:buffers],
26
- c[:driver] )
27
- end
28
-
29
- # The attribute factory to use to obtain attribute object instances.
30
- ns.attr_factory do |c,|
31
- require 'net/sftp/protocol/01/attributes'
32
- Attributes.init( c[:transport][:buffers] )
33
- end
34
-
35
- # The version implementation to use.
36
- ns.impl do |c,|
37
- require 'net/sftp/protocol/01/impl'
38
- Impl.new( c[:transport][:buffers],
39
- c[:driver], c[:packet_assistant],
40
- c[:attr_factory] )
41
- end
42
-
43
- end
44
- end
45
- module_function :register_services
46
-
47
- end ; end ; end ; end
@@ -1,39 +0,0 @@
1
- #--
2
- # =============================================================================
3
- # Copyright (c) 2004, Jamis Buck (jamis@37signals.com)
4
- # All rights reserved.
5
- #
6
- # This source file is distributed as part of the Net::SFTP Secure FTP Client
7
- # library for Ruby. This file (and the library as a whole) may be used only as
8
- # allowed by either the BSD license, or the Ruby license (or, by association
9
- # with the Ruby license, the GPL). See the "doc" subdirectory of the Net::SFTP
10
- # distribution for the texts of these licenses.
11
- # -----------------------------------------------------------------------------
12
- # net-sftp website: http://net-ssh.rubyforge.org/sftp
13
- # project website : http://rubyforge.org/projects/net-ssh
14
- # =============================================================================
15
- #++
16
-
17
- require 'net/sftp/protocol/01/impl'
18
-
19
- module Net ; module SFTP ; module Protocol ; module V_02
20
-
21
- # The implementation of the operations defined by version 2 of the SFTP
22
- # protocol. This simply adds support for the RENAME operation, otherwise
23
- # extending the version 1 implementation, unaltered.
24
- class Impl < V_01::Impl
25
-
26
- operation :rename
27
-
28
- alias :rename_raw :rename
29
-
30
- # This operation is special since a later version of the protocol adds
31
- # support for flags. In this version, the flags parameter is ignored,
32
- # but it exists for compatibility with later versions.
33
- def rename( id, name, new_name, flags=nil )
34
- rename_raw id, name, new_name
35
- end
36
-
37
- end
38
-
39
- end ; end ; end ; end
@@ -1,32 +0,0 @@
1
- #--
2
- # =============================================================================
3
- # Copyright (c) 2004, Jamis Buck (jamis@37signals.com)
4
- # All rights reserved.
5
- #
6
- # This source file is distributed as part of the Net::SFTP Secure FTP Client
7
- # library for Ruby. This file (and the library as a whole) may be used only as
8
- # allowed by either the BSD license, or the Ruby license (or, by association
9
- # with the Ruby license, the GPL). See the "doc" subdirectory of the Net::SFTP
10
- # distribution for the texts of these licenses.
11
- # -----------------------------------------------------------------------------
12
- # net-sftp website: http://net-ssh.rubyforge.org/sftp
13
- # project website : http://rubyforge.org/projects/net-ssh
14
- # =============================================================================
15
- #++
16
-
17
- require 'net/sftp/protocol/01/packet-assistant'
18
-
19
- module Net ; module SFTP ; module Protocol ; module V_02
20
-
21
- # The packet assistant, used to format packets for version 2 of the SFTP
22
- # protocol. This simply adds support for the RENAME packet:
23
- #
24
- # * rename( id, old, new )
25
- class PacketAssistant < V_01::PacketAssistant
26
-
27
- packet :rename, :string, # old name
28
- :string # new name
29
-
30
- end
31
-
32
- end ; end ; end ; end
@@ -1,44 +0,0 @@
1
- #--
2
- # =============================================================================
3
- # Copyright (c) 2004, Jamis Buck (jamis@37signals.com)
4
- # All rights reserved.
5
- #
6
- # This source file is distributed as part of the Net::SFTP Secure FTP Client
7
- # library for Ruby. This file (and the library as a whole) may be used only as
8
- # allowed by either the BSD license, or the Ruby license (or, by association
9
- # with the Ruby license, the GPL). See the "doc" subdirectory of the Net::SFTP
10
- # distribution for the texts of these licenses.
11
- # -----------------------------------------------------------------------------
12
- # net-sftp website: http://net-ssh.rubyforge.org/sftp
13
- # project website : http://rubyforge.org/projects/net-ssh
14
- # =============================================================================
15
- #++
16
-
17
- module Net ; module SFTP ; module Protocol ; module V_02
18
-
19
- def register_services( container )
20
- container.namespace_define :v_02 do |ns|
21
-
22
- ns.packet_assistant do |c,|
23
- require 'net/sftp/protocol/02/packet-assistant'
24
- PacketAssistant.new( c[:transport][:buffers],
25
- c[:driver] )
26
- end
27
-
28
- ns.attr_factory do |c,|
29
- require 'net/sftp/protocol/01/attributes'
30
- V_01::Attributes.init( c[:transport][:buffers] )
31
- end
32
-
33
- ns.impl do |c,|
34
- require 'net/sftp/protocol/02/impl'
35
- Impl.new( c[:transport][:buffers],
36
- c[:driver], c[:packet_assistant],
37
- c[:attr_factory] )
38
- end
39
-
40
- end
41
- end
42
- module_function :register_services
43
-
44
- end ; end ; end ; end
@@ -1,42 +0,0 @@
1
- #--
2
- # =============================================================================
3
- # Copyright (c) 2004, Jamis Buck (jamis@37signals.com)
4
- # All rights reserved.
5
- #
6
- # This source file is distributed as part of the Net::SFTP Secure FTP Client
7
- # library for Ruby. This file (and the library as a whole) may be used only as
8
- # allowed by either the BSD license, or the Ruby license (or, by association
9
- # with the Ruby license, the GPL). See the "doc" subdirectory of the Net::SFTP
10
- # distribution for the texts of these licenses.
11
- # -----------------------------------------------------------------------------
12
- # net-sftp website: http://net-ssh.rubyforge.org/sftp
13
- # project website : http://rubyforge.org/projects/net-ssh
14
- # =============================================================================
15
- #++
16
-
17
- require 'net/sftp/protocol/02/impl'
18
-
19
- module Net ; module SFTP ; module Protocol ; module V_03
20
-
21
- # The implementation of the operations for version 3 of the SFTP protocol.
22
- # This adds support for the readlink and symlink operations.
23
- class Impl < V_02::Impl
24
-
25
- operation :readlink,
26
- :symlink
27
-
28
- # The #status message changed in this version. It adds +message+ and
29
- # +language+ fields, so the callback now receives +driver+, +id+, +code+,
30
- # +message+, and +language+ as parameters.
31
- def do_status( channel, content )
32
- return unless has_on_status?
33
- id = content.read_long
34
- code = content.read_long
35
- message = content.read_string
36
- language = content.read_string
37
- call_on_status( driver, id, code, message, language )
38
- end
39
-
40
- end
41
-
42
- end ; end ; end ; end
@@ -1,35 +0,0 @@
1
- #--
2
- # =============================================================================
3
- # Copyright (c) 2004, Jamis Buck (jamis@37signals.com)
4
- # All rights reserved.
5
- #
6
- # This source file is distributed as part of the Net::SFTP Secure FTP Client
7
- # library for Ruby. This file (and the library as a whole) may be used only as
8
- # allowed by either the BSD license, or the Ruby license (or, by association
9
- # with the Ruby license, the GPL). See the "doc" subdirectory of the Net::SFTP
10
- # distribution for the texts of these licenses.
11
- # -----------------------------------------------------------------------------
12
- # net-sftp website: http://net-ssh.rubyforge.org/sftp
13
- # project website : http://rubyforge.org/projects/net-ssh
14
- # =============================================================================
15
- #++
16
-
17
- require 'net/sftp/protocol/02/packet-assistant'
18
-
19
- module Net ; module SFTP ; module Protocol ; module V_03
20
-
21
- # The packet assistant which formats packets for version 3 of the SFTP
22
- # protocol. This adds support for the readlink and symlink packets:
23
- #
24
- # * readlink( id, path )
25
- # * symlink( id, link, target )
26
- class PacketAssistant < V_02::PacketAssistant
27
-
28
- packet :readlink, :string # path
29
-
30
- packet :symlink, :string, # link-path
31
- :string # target-path
32
-
33
- end
34
-
35
- end ; end ; end ; end
@@ -1,44 +0,0 @@
1
- #--
2
- # =============================================================================
3
- # Copyright (c) 2004, Jamis Buck (jamis@37signals.com)
4
- # All rights reserved.
5
- #
6
- # This source file is distributed as part of the Net::SFTP Secure FTP Client
7
- # library for Ruby. This file (and the library as a whole) may be used only as
8
- # allowed by either the BSD license, or the Ruby license (or, by association
9
- # with the Ruby license, the GPL). See the "doc" subdirectory of the Net::SFTP
10
- # distribution for the texts of these licenses.
11
- # -----------------------------------------------------------------------------
12
- # net-sftp website: http://net-ssh.rubyforge.org/sftp
13
- # project website : http://rubyforge.org/projects/net-ssh
14
- # =============================================================================
15
- #++
16
-
17
- module Net ; module SFTP ; module Protocol ; module V_03
18
-
19
- def register_services( container )
20
- container.namespace_define :v_03 do |ns|
21
-
22
- ns.packet_assistant do |c,|
23
- require 'net/sftp/protocol/03/packet-assistant'
24
- PacketAssistant.new( c[:transport][:buffers],
25
- c[:driver] )
26
- end
27
-
28
- ns.attr_factory do |c,|
29
- require 'net/sftp/protocol/01/attributes'
30
- V_01::Attributes.init( c[:transport][:buffers] )
31
- end
32
-
33
- ns.impl do |c,|
34
- require 'net/sftp/protocol/03/impl'
35
- Impl.new( c[:transport][:buffers],
36
- c[:driver], c[:packet_assistant],
37
- c[:attr_factory] )
38
- end
39
-
40
- end
41
- end
42
- module_function :register_services
43
-
44
- end ; end ; end ; end
@@ -1,86 +0,0 @@
1
- #--
2
- # =============================================================================
3
- # Copyright (c) 2004, Jamis Buck (jamis@37signals.com)
4
- # All rights reserved.
5
- #
6
- # This source file is distributed as part of the Net::SFTP Secure FTP Client
7
- # library for Ruby. This file (and the library as a whole) may be used only as
8
- # allowed by either the BSD license, or the Ruby license (or, by association
9
- # with the Ruby license, the GPL). See the "doc" subdirectory of the Net::SFTP
10
- # distribution for the texts of these licenses.
11
- # -----------------------------------------------------------------------------
12
- # net-sftp website: http://net-ssh.rubyforge.org/sftp
13
- # project website : http://rubyforge.org/projects/net-ssh
14
- # =============================================================================
15
- #++
16
-
17
- require 'net/sftp/protocol/03/impl'
18
-
19
- module Net ; module SFTP ; module Protocol ; module V_04
20
-
21
- # The implementation of the operations available to version 4 of the SFTP
22
- # protocol.
23
- class Impl < V_03::Impl
24
-
25
- # In version 4, stat accepts a flags parameter. If flags is +nil+, it
26
- # will default to returning all attributes. Otherwise, the flags parameter
27
- # should be a bitwise combination of the F_xxx constants of
28
- # Net::SFTP::Protocol::V_04::Attributes.
29
- def stat( id, filename, flags=nil )
30
- stat_raw id, filename, convert_flags( flags )
31
- end
32
-
33
- # In version 4, lstat accepts a flags parameter. If flags is +nil+, it
34
- # will default to returning all attributes. Otherwise, the flags parameter
35
- # should be a bitwise combination of the F_xxx constants of
36
- # Net::SFTP::Protocol::V_04::Attributes.
37
- def lstat( id, filename, flags=nil )
38
- lstat_raw id, filename, convert_flags( flags )
39
- end
40
-
41
- # In version 4, fstat accepts a flags parameter. If flags is +nil+, it
42
- # will default to returning all attributes. Otherwise, the flags parameter
43
- # should be a bitwise combination of the F_xxx constants of
44
- # Net::SFTP::Protocol::V_04::Attributes.
45
- def fstat( id, handle, flags=nil )
46
- fstat_raw id, handle, convert_flags( flags )
47
- end
48
-
49
- # In version 4, rename accepts a flags parameter. The valid flags are a
50
- # combination of the following:
51
- #
52
- # * FXP_RENAME_OVERWRITE (0x01)
53
- # * FXP_RENAME_ATOMIC (0x02)
54
- # * FXP_RENAME_NATIVE (0x04)
55
- #
56
- # Please refer to the SSH2 specification for the description of these flags.
57
- def rename( id, name, new_name, flags=0 )
58
- rename_raw id, name, new_name, flags
59
- end
60
-
61
- # A convenience method for converting the (stat) flags parameter into a
62
- # value acceptible to the SFTP protocol.
63
- def convert_flags( flags )
64
- return 0x800001FD if flags.nil?
65
- flags
66
- end
67
- private :convert_flags
68
-
69
- # Used internally to handle +name+ packets. The +on_name+ callback is
70
- # invoked, if registered, with the driver, id, and array of items. The v4
71
- # version of this method sets the 'longname' member of the Name object to
72
- # +nil+ (it is not used in this version).
73
- def do_name( channel, content )
74
- return unless has_on_name?
75
- id = content.read_long
76
- items = []
77
- content.read_long.times do
78
- items.push( Name.new( content.read_string, nil,
79
- @attr_factory.from_buffer( content ) ) )
80
- end
81
- call_on_name( driver, id, items )
82
- end
83
-
84
- end
85
-
86
- end ; end ; end ; end
@@ -1,45 +0,0 @@
1
- #--
2
- # =============================================================================
3
- # Copyright (c) 2004, Jamis Buck (jamis@37signals.com)
4
- # All rights reserved.
5
- #
6
- # This source file is distributed as part of the Net::SFTP Secure FTP Client
7
- # library for Ruby. This file (and the library as a whole) may be used only as
8
- # allowed by either the BSD license, or the Ruby license (or, by association
9
- # with the Ruby license, the GPL). See the "doc" subdirectory of the Net::SFTP
10
- # distribution for the texts of these licenses.
11
- # -----------------------------------------------------------------------------
12
- # net-sftp website: http://net-ssh.rubyforge.org/sftp
13
- # project website : http://rubyforge.org/projects/net-ssh
14
- # =============================================================================
15
- #++
16
-
17
- require 'net/sftp/protocol/03/packet-assistant'
18
-
19
- module Net ; module SFTP ; module Protocol ; module V_04
20
-
21
- # Version 4 of the SFTP protocol changed the number of parameters to several
22
- # different packet types:
23
- #
24
- # * rename( id, old, new, flags )
25
- # * stat( id, path, flags )
26
- # * lstat( id, path, flags )
27
- # * fstat( id, handle, flags )
28
- class PacketAssistant < V_03::PacketAssistant
29
-
30
- packet :rename, :string, # old name
31
- :string, # new name
32
- :long # flags
33
-
34
- packet :stat, :string, # path
35
- :long # flags
36
-
37
- packet :lstat, :string, # path
38
- :long # flags
39
-
40
- packet :fstat, :string, # handle
41
- :long # flags
42
-
43
- end
44
-
45
- end ; end ; end ; end
@@ -1,44 +0,0 @@
1
- #--
2
- # =============================================================================
3
- # Copyright (c) 2004, Jamis Buck (jamis@37signals.com)
4
- # All rights reserved.
5
- #
6
- # This source file is distributed as part of the Net::SFTP Secure FTP Client
7
- # library for Ruby. This file (and the library as a whole) may be used only as
8
- # allowed by either the BSD license, or the Ruby license (or, by association
9
- # with the Ruby license, the GPL). See the "doc" subdirectory of the Net::SFTP
10
- # distribution for the texts of these licenses.
11
- # -----------------------------------------------------------------------------
12
- # net-sftp website: http://net-ssh.rubyforge.org/sftp
13
- # project website : http://rubyforge.org/projects/net-ssh
14
- # =============================================================================
15
- #++
16
-
17
- module Net ; module SFTP ; module Protocol ; module V_04
18
-
19
- def register_services( container )
20
- container.namespace_define :v_04 do |ns|
21
-
22
- ns.packet_assistant do |c,|
23
- require 'net/sftp/protocol/04/packet-assistant'
24
- PacketAssistant.new( c[:transport][:buffers],
25
- c[:driver] )
26
- end
27
-
28
- ns.attr_factory do |c,|
29
- require 'net/sftp/protocol/04/attributes'
30
- Attributes.init( c[:transport][:buffers] )
31
- end
32
-
33
- ns.impl do |c,|
34
- require 'net/sftp/protocol/04/impl'
35
- Impl.new( c[:transport][:buffers],
36
- c[:driver], c[:packet_assistant],
37
- c[:attr_factory] )
38
- end
39
-
40
- end
41
- end
42
- module_function :register_services
43
-
44
- end ; end ; end ; end