@contrast/agent 4.5.1 → 4.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/bin/VERSION +1 -1
  2. package/bin/linux/contrast-service +0 -0
  3. package/bin/mac/contrast-service +0 -0
  4. package/bin/windows/contrast-service.exe +0 -0
  5. package/lib/assess/membrane/deserialization-membrane.js +4 -5
  6. package/lib/assess/membrane/source-membrane.js +16 -33
  7. package/lib/assess/models/call-context.js +1 -1
  8. package/lib/assess/policy/propagators.json +19 -21
  9. package/lib/assess/policy/rules.json +7 -2
  10. package/lib/assess/policy/signatures.json +42 -0
  11. package/lib/assess/policy/util.js +2 -1
  12. package/lib/assess/propagators/JSON/parse.js +1 -1
  13. package/lib/assess/propagators/JSON/stringify.js +3 -3
  14. package/lib/assess/propagators/array-prototype-join.js +7 -8
  15. package/lib/assess/propagators/common.js +7 -5
  16. package/lib/assess/propagators/dustjs/escape-html.js +22 -0
  17. package/lib/assess/propagators/dustjs/escape-js.js +22 -0
  18. package/lib/assess/propagators/encode-uri/encode-uri-component.js +22 -0
  19. package/lib/assess/propagators/encode-uri/encode-uri.js +22 -0
  20. package/lib/assess/propagators/handlebars-escape-expresssion.js +1 -1
  21. package/lib/assess/propagators/index.js +0 -2
  22. package/lib/assess/propagators/joi/boolean.js +1 -1
  23. package/lib/assess/propagators/joi/expression.js +1 -1
  24. package/lib/assess/propagators/joi/number.js +1 -1
  25. package/lib/assess/propagators/joi/string-base.js +1 -1
  26. package/lib/assess/propagators/joi/string-schema.js +12 -13
  27. package/lib/assess/propagators/joi/values.js +37 -22
  28. package/lib/assess/propagators/manager.js +12 -10
  29. package/lib/assess/propagators/mongoose/helpers.js +20 -0
  30. package/lib/assess/propagators/mongoose/index.js +18 -0
  31. package/lib/assess/propagators/mongoose/map.js +74 -0
  32. package/lib/assess/propagators/mongoose/string.js +104 -0
  33. package/lib/assess/propagators/mustache/escape.js +22 -0
  34. package/lib/assess/propagators/number.js +54 -0
  35. package/lib/assess/propagators/object.js +6 -7
  36. package/lib/assess/propagators/path/basename.js +14 -13
  37. package/lib/assess/propagators/path/common.js +156 -47
  38. package/lib/assess/propagators/path/dirname.js +14 -13
  39. package/lib/assess/propagators/path/extname.js +14 -13
  40. package/lib/assess/propagators/path/join.js +5 -1
  41. package/lib/assess/propagators/path/normalize.js +1 -2
  42. package/lib/assess/propagators/path/parse.js +1 -1
  43. package/lib/assess/propagators/path/relative.js +7 -5
  44. package/lib/assess/propagators/path/resolve.js +11 -2
  45. package/lib/assess/propagators/querystring/escape.js +20 -18
  46. package/lib/assess/propagators/querystring/parse.js +7 -5
  47. package/lib/assess/propagators/querystring/stringify.js +25 -24
  48. package/lib/assess/propagators/querystring/unescape.js +20 -18
  49. package/lib/assess/propagators/sequelize/sql-string-escape.js +1 -1
  50. package/lib/assess/propagators/sequelize/sql-string-format-named-parameters.js +1 -1
  51. package/lib/assess/propagators/sequelize/sql-string-format.js +3 -3
  52. package/lib/assess/propagators/sequelize/utils.js +2 -2
  53. package/lib/assess/propagators/string-prototype-replace.js +30 -28
  54. package/lib/assess/propagators/string-prototype-split.js +36 -36
  55. package/lib/assess/propagators/string-prototype-trim.js +15 -17
  56. package/lib/assess/propagators/string.js +12 -16
  57. package/lib/assess/propagators/template-escape.js +87 -0
  58. package/lib/assess/propagators/templates.js +10 -11
  59. package/lib/assess/propagators/url/url-prototype-parse.js +5 -6
  60. package/lib/assess/propagators/url/url-url.js +51 -43
  61. package/lib/assess/propagators/util/format.js +1 -1
  62. package/lib/assess/propagators/v8/init-hooks.js +3 -3
  63. package/lib/assess/propagators/validator/init-hooks.js +22 -22
  64. package/lib/assess/sinks/common.js +10 -5
  65. package/lib/assess/sinks/dustjs-linkedin-xss.js +131 -0
  66. package/lib/assess/sinks/libxmljs-xxe.js +1 -1
  67. package/lib/assess/sinks/mongodb.js +2 -1
  68. package/lib/assess/sinks/ssrf-url.js +1 -1
  69. package/lib/constants.js +4 -1
  70. package/lib/core/arch-components/dynamodb.js +1 -2
  71. package/lib/core/arch-components/dynamodbv3.js +44 -0
  72. package/lib/core/arch-components/index.js +1 -0
  73. package/lib/core/arch-components/rethinkdb.js +53 -0
  74. package/lib/core/config/options.js +3 -2
  75. package/lib/core/rewrite/injections.js +8 -0
  76. package/lib/core/stacktrace.js +2 -1
  77. package/lib/feature-set.js +1 -1
  78. package/lib/hooks/frameworks/base.js +8 -2
  79. package/lib/hooks/frameworks/http.js +23 -16
  80. package/lib/hooks/frameworks/http2.js +73 -0
  81. package/lib/hooks/frameworks/index.js +8 -3
  82. package/lib/hooks/http.js +112 -128
  83. package/lib/hooks/object-to-primitive.js +6 -7
  84. package/lib/hooks/patcher.js +75 -44
  85. package/lib/hooks/require.js +16 -22
  86. package/lib/instrumentation.js +0 -3
  87. package/lib/protect/rules/nosqli/nosql-injection-rule.js +228 -0
  88. package/lib/protect/rules/rule-factory.js +2 -2
  89. package/lib/protect/service.js +23 -11
  90. package/lib/protect/sinks/mongodb.js +56 -55
  91. package/lib/reporter/translations/to-protobuf/dtm/index.js +1 -1
  92. package/lib/reporter/translations/to-protobuf/dtm/ip-denylist-details.js +1 -1
  93. package/lib/reporter/translations/to-protobuf/dtm/rasp-rule-sample.js +1 -1
  94. package/lib/reporter/translations/to-protobuf/settings/defend-features.js +8 -6
  95. package/lib/reporter/translations/to-protobuf/settings/exclusions.js +5 -4
  96. package/lib/tracker.js +13 -65
  97. package/lib/util/some.js +27 -0
  98. package/lib/util/source-map.js +1 -1
  99. package/package.json +15 -16
  100. package/lib/hooks/frameworks/https.js +0 -42
  101. package/lib/protect/rules/nosqli/no-sql-injection-rule.js +0 -109
  102. package/node_modules/bindings/LICENSE.md +0 -22
  103. package/node_modules/bindings/README.md +0 -98
  104. package/node_modules/bindings/bindings.js +0 -221
  105. package/node_modules/bindings/package.json +0 -32
  106. package/node_modules/file-uri-to-path/.npmignore +0 -1
  107. package/node_modules/file-uri-to-path/.travis.yml +0 -30
  108. package/node_modules/file-uri-to-path/History.md +0 -21
  109. package/node_modules/file-uri-to-path/LICENSE +0 -20
  110. package/node_modules/file-uri-to-path/README.md +0 -74
  111. package/node_modules/file-uri-to-path/index.d.ts +0 -2
  112. package/node_modules/file-uri-to-path/index.js +0 -66
  113. package/node_modules/file-uri-to-path/package.json +0 -36
  114. package/node_modules/file-uri-to-path/test/test.js +0 -24
  115. package/node_modules/file-uri-to-path/test/tests.json +0 -13
  116. package/node_modules/glossy/LICENSE +0 -19
  117. package/node_modules/glossy/README.md +0 -129
  118. package/node_modules/glossy/index.js +0 -12
  119. package/node_modules/glossy/lib/glossy/parse.js +0 -520
  120. package/node_modules/glossy/lib/glossy/produce.js +0 -459
  121. package/node_modules/glossy/package.json +0 -47
  122. package/node_modules/glossy/test/decide.js +0 -7
  123. package/node_modules/glossy/test/decode_pri.js +0 -24
  124. package/node_modules/glossy/test/parse_3164.js +0 -104
  125. package/node_modules/glossy/test/parse_5424.js +0 -106
  126. package/node_modules/glossy/test/parse_5848.js +0 -40
  127. package/node_modules/glossy/test/parse_8601.js +0 -14
  128. package/node_modules/glossy/test/parse_rfc3339.js +0 -9
  129. package/node_modules/glossy/test/produce.js +0 -162
  130. package/node_modules/glossy/test/runner.js +0 -40
  131. package/node_modules/glossy/test/structure_data.js +0 -24
  132. package/node_modules/nan/CHANGELOG.md +0 -537
  133. package/node_modules/nan/LICENSE.md +0 -13
  134. package/node_modules/nan/README.md +0 -455
  135. package/node_modules/nan/doc/asyncworker.md +0 -146
  136. package/node_modules/nan/doc/buffers.md +0 -54
  137. package/node_modules/nan/doc/callback.md +0 -76
  138. package/node_modules/nan/doc/converters.md +0 -41
  139. package/node_modules/nan/doc/errors.md +0 -226
  140. package/node_modules/nan/doc/json.md +0 -62
  141. package/node_modules/nan/doc/maybe_types.md +0 -583
  142. package/node_modules/nan/doc/methods.md +0 -664
  143. package/node_modules/nan/doc/new.md +0 -147
  144. package/node_modules/nan/doc/node_misc.md +0 -123
  145. package/node_modules/nan/doc/object_wrappers.md +0 -263
  146. package/node_modules/nan/doc/persistent.md +0 -296
  147. package/node_modules/nan/doc/scopes.md +0 -73
  148. package/node_modules/nan/doc/script.md +0 -38
  149. package/node_modules/nan/doc/string_bytes.md +0 -62
  150. package/node_modules/nan/doc/v8_internals.md +0 -199
  151. package/node_modules/nan/doc/v8_misc.md +0 -85
  152. package/node_modules/nan/include_dirs.js +0 -1
  153. package/node_modules/nan/nan.h +0 -2898
  154. package/node_modules/nan/nan_callbacks.h +0 -88
  155. package/node_modules/nan/nan_callbacks_12_inl.h +0 -514
  156. package/node_modules/nan/nan_callbacks_pre_12_inl.h +0 -520
  157. package/node_modules/nan/nan_converters.h +0 -72
  158. package/node_modules/nan/nan_converters_43_inl.h +0 -68
  159. package/node_modules/nan/nan_converters_pre_43_inl.h +0 -42
  160. package/node_modules/nan/nan_define_own_property_helper.h +0 -29
  161. package/node_modules/nan/nan_implementation_12_inl.h +0 -430
  162. package/node_modules/nan/nan_implementation_pre_12_inl.h +0 -263
  163. package/node_modules/nan/nan_json.h +0 -166
  164. package/node_modules/nan/nan_maybe_43_inl.h +0 -356
  165. package/node_modules/nan/nan_maybe_pre_43_inl.h +0 -268
  166. package/node_modules/nan/nan_new.h +0 -340
  167. package/node_modules/nan/nan_object_wrap.h +0 -156
  168. package/node_modules/nan/nan_persistent_12_inl.h +0 -132
  169. package/node_modules/nan/nan_persistent_pre_12_inl.h +0 -242
  170. package/node_modules/nan/nan_private.h +0 -73
  171. package/node_modules/nan/nan_string_bytes.h +0 -305
  172. package/node_modules/nan/nan_typedarray_contents.h +0 -96
  173. package/node_modules/nan/nan_weak.h +0 -437
  174. package/node_modules/nan/package.json +0 -41
  175. package/node_modules/nan/tools/1to2.js +0 -412
  176. package/node_modules/nan/tools/README.md +0 -14
  177. package/node_modules/nan/tools/package.json +0 -19
  178. package/node_modules/unix-dgram/LICENSE +0 -13
  179. package/node_modules/unix-dgram/README.md +0 -107
  180. package/node_modules/unix-dgram/binding.gyp +0 -20
  181. package/node_modules/unix-dgram/build/Makefile +0 -324
  182. package/node_modules/unix-dgram/build/Release/.deps/Release/obj.target/unix_dgram/src/unix_dgram.o.d +0 -58
  183. package/node_modules/unix-dgram/build/Release/.deps/Release/obj.target/unix_dgram.node.d +0 -1
  184. package/node_modules/unix-dgram/build/Release/.deps/Release/unix_dgram.node.d +0 -1
  185. package/node_modules/unix-dgram/build/Release/obj.target/unix_dgram/src/unix_dgram.o +0 -0
  186. package/node_modules/unix-dgram/build/Release/obj.target/unix_dgram.node +0 -0
  187. package/node_modules/unix-dgram/build/Release/unix_dgram.node +0 -0
  188. package/node_modules/unix-dgram/build/binding.Makefile +0 -6
  189. package/node_modules/unix-dgram/build/config.gypi +0 -213
  190. package/node_modules/unix-dgram/build/unix_dgram.target.mk +0 -159
  191. package/node_modules/unix-dgram/lib/unix_dgram.js +0 -168
  192. package/node_modules/unix-dgram/package.json +0 -36
  193. package/node_modules/unix-dgram/src/unix_dgram.cc +0 -404
  194. package/node_modules/unix-dgram/src/win_dummy.cc +0 -7
  195. package/node_modules/unix-dgram/test/test-connect-callback.js +0 -68
  196. package/node_modules/unix-dgram/test/test-connect.js +0 -53
  197. package/node_modules/unix-dgram/test/test-dgram-unix.js +0 -58
  198. package/node_modules/unix-dgram/test/test-send-error.js +0 -26
  199. package/node_modules/winston-syslog/.eslintrc +0 -7
  200. package/node_modules/winston-syslog/.travis.yml +0 -14
  201. package/node_modules/winston-syslog/CHANGELOG.md +0 -9
  202. package/node_modules/winston-syslog/LICENSE +0 -20
  203. package/node_modules/winston-syslog/README.md +0 -135
  204. package/node_modules/winston-syslog/lib/utils.js +0 -26
  205. package/node_modules/winston-syslog/lib/winston-syslog.js +0 -385
  206. package/node_modules/winston-syslog/package.json +0 -56
  207. package/node_modules/winston-syslog/test/format-test.js +0 -122
  208. package/node_modules/winston-syslog/test/syslog-test.js +0 -95
  209. package/node_modules/winston-syslog/test/unix-connect-test.js +0 -133
@@ -1,159 +0,0 @@
1
- # This file is generated by gyp; do not edit.
2
-
3
- TOOLSET := target
4
- TARGET := unix_dgram
5
- DEFS_Debug := \
6
- '-DNODE_GYP_MODULE_NAME=unix_dgram' \
7
- '-DUSING_UV_SHARED=1' \
8
- '-DUSING_V8_SHARED=1' \
9
- '-DV8_DEPRECATION_WARNINGS=1' \
10
- '-DV8_DEPRECATION_WARNINGS' \
11
- '-DV8_IMMINENT_DEPRECATION_WARNINGS' \
12
- '-D_LARGEFILE_SOURCE' \
13
- '-D_FILE_OFFSET_BITS=64' \
14
- '-D__STDC_FORMAT_MACROS' \
15
- '-DOPENSSL_NO_PINSHARED' \
16
- '-DOPENSSL_THREADS' \
17
- '-DBUILDING_NODE_EXTENSION' \
18
- '-DDEBUG' \
19
- '-D_DEBUG' \
20
- '-DV8_ENABLE_CHECKS'
21
-
22
- # Flags passed to all source files.
23
- CFLAGS_Debug := \
24
- -fPIC \
25
- -pthread \
26
- -Wall \
27
- -Wextra \
28
- -Wno-unused-parameter \
29
- -m64 \
30
- -g \
31
- -O0
32
-
33
- # Flags passed to only C files.
34
- CFLAGS_C_Debug :=
35
-
36
- # Flags passed to only C++ files.
37
- CFLAGS_CC_Debug := \
38
- -fno-rtti \
39
- -fno-exceptions \
40
- -std=gnu++1y
41
-
42
- INCS_Debug := \
43
- -I/home/runner/.cache/node-gyp/12.22.7/include/node \
44
- -I/home/runner/.cache/node-gyp/12.22.7/src \
45
- -I/home/runner/.cache/node-gyp/12.22.7/deps/openssl/config \
46
- -I/home/runner/.cache/node-gyp/12.22.7/deps/openssl/openssl/include \
47
- -I/home/runner/.cache/node-gyp/12.22.7/deps/uv/include \
48
- -I/home/runner/.cache/node-gyp/12.22.7/deps/zlib \
49
- -I/home/runner/.cache/node-gyp/12.22.7/deps/v8/include \
50
- -I$(srcdir)/../nan
51
-
52
- DEFS_Release := \
53
- '-DNODE_GYP_MODULE_NAME=unix_dgram' \
54
- '-DUSING_UV_SHARED=1' \
55
- '-DUSING_V8_SHARED=1' \
56
- '-DV8_DEPRECATION_WARNINGS=1' \
57
- '-DV8_DEPRECATION_WARNINGS' \
58
- '-DV8_IMMINENT_DEPRECATION_WARNINGS' \
59
- '-D_LARGEFILE_SOURCE' \
60
- '-D_FILE_OFFSET_BITS=64' \
61
- '-D__STDC_FORMAT_MACROS' \
62
- '-DOPENSSL_NO_PINSHARED' \
63
- '-DOPENSSL_THREADS' \
64
- '-DBUILDING_NODE_EXTENSION'
65
-
66
- # Flags passed to all source files.
67
- CFLAGS_Release := \
68
- -fPIC \
69
- -pthread \
70
- -Wall \
71
- -Wextra \
72
- -Wno-unused-parameter \
73
- -m64 \
74
- -O3 \
75
- -fno-omit-frame-pointer
76
-
77
- # Flags passed to only C files.
78
- CFLAGS_C_Release :=
79
-
80
- # Flags passed to only C++ files.
81
- CFLAGS_CC_Release := \
82
- -fno-rtti \
83
- -fno-exceptions \
84
- -std=gnu++1y
85
-
86
- INCS_Release := \
87
- -I/home/runner/.cache/node-gyp/12.22.7/include/node \
88
- -I/home/runner/.cache/node-gyp/12.22.7/src \
89
- -I/home/runner/.cache/node-gyp/12.22.7/deps/openssl/config \
90
- -I/home/runner/.cache/node-gyp/12.22.7/deps/openssl/openssl/include \
91
- -I/home/runner/.cache/node-gyp/12.22.7/deps/uv/include \
92
- -I/home/runner/.cache/node-gyp/12.22.7/deps/zlib \
93
- -I/home/runner/.cache/node-gyp/12.22.7/deps/v8/include \
94
- -I$(srcdir)/../nan
95
-
96
- OBJS := \
97
- $(obj).target/$(TARGET)/src/unix_dgram.o
98
-
99
- # Add to the list of files we specially track dependencies for.
100
- all_deps += $(OBJS)
101
-
102
- # CFLAGS et al overrides must be target-local.
103
- # See "Target-specific Variable Values" in the GNU Make manual.
104
- $(OBJS): TOOLSET := $(TOOLSET)
105
- $(OBJS): GYP_CFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE)) $(CFLAGS_$(BUILDTYPE)) $(CFLAGS_C_$(BUILDTYPE))
106
- $(OBJS): GYP_CXXFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE)) $(CFLAGS_$(BUILDTYPE)) $(CFLAGS_CC_$(BUILDTYPE))
107
-
108
- # Suffix rules, putting all outputs into $(obj).
109
-
110
- $(obj).$(TOOLSET)/$(TARGET)/%.o: $(srcdir)/%.cc FORCE_DO_CMD
111
- @$(call do_cmd,cxx,1)
112
-
113
- # Try building from generated source, too.
114
-
115
- $(obj).$(TOOLSET)/$(TARGET)/%.o: $(obj).$(TOOLSET)/%.cc FORCE_DO_CMD
116
- @$(call do_cmd,cxx,1)
117
-
118
- $(obj).$(TOOLSET)/$(TARGET)/%.o: $(obj)/%.cc FORCE_DO_CMD
119
- @$(call do_cmd,cxx,1)
120
-
121
- # End of this set of suffix rules
122
- ### Rules for final target.
123
- LDFLAGS_Debug := \
124
- -pthread \
125
- -rdynamic \
126
- -m64
127
-
128
- LDFLAGS_Release := \
129
- -pthread \
130
- -rdynamic \
131
- -m64
132
-
133
- LIBS :=
134
-
135
- $(obj).target/unix_dgram.node: GYP_LDFLAGS := $(LDFLAGS_$(BUILDTYPE))
136
- $(obj).target/unix_dgram.node: LIBS := $(LIBS)
137
- $(obj).target/unix_dgram.node: TOOLSET := $(TOOLSET)
138
- $(obj).target/unix_dgram.node: $(OBJS) FORCE_DO_CMD
139
- $(call do_cmd,solink_module)
140
-
141
- all_deps += $(obj).target/unix_dgram.node
142
- # Add target alias
143
- .PHONY: unix_dgram
144
- unix_dgram: $(builddir)/unix_dgram.node
145
-
146
- # Copy this to the executable output path.
147
- $(builddir)/unix_dgram.node: TOOLSET := $(TOOLSET)
148
- $(builddir)/unix_dgram.node: $(obj).target/unix_dgram.node FORCE_DO_CMD
149
- $(call do_cmd,copy)
150
-
151
- all_deps += $(builddir)/unix_dgram.node
152
- # Short alias for building this executable.
153
- .PHONY: unix_dgram.node
154
- unix_dgram.node: $(obj).target/unix_dgram.node $(builddir)/unix_dgram.node
155
-
156
- # Add executable to "all" target.
157
- .PHONY: all
158
- all: $(builddir)/unix_dgram.node
159
-
@@ -1,168 +0,0 @@
1
- var events = require('events');
2
- var dgram = require('dgram');
3
- var util = require('util');
4
- var binding = require('bindings')('unix_dgram.node');
5
-
6
- var SOCK_DGRAM = binding.SOCK_DGRAM;
7
- var AF_UNIX = binding.AF_UNIX;
8
-
9
- var socket = binding.socket || unsupported;
10
- var bind = binding.bind || unsupported;
11
- var connect = binding.connect || unsupported;
12
- var sendto = binding.sendto || unsupported;
13
- var send = binding.send || unsupported;
14
- var close = binding.close || unsupported;
15
-
16
-
17
- function unsupported() {
18
- throw new Error('Unix datagrams not available on this platform');
19
- }
20
-
21
-
22
- function errnoException(errorno, syscall) {
23
- var e = new Error(syscall + ' ' + errorno);
24
- e.errno = e.code = errorno;
25
- e.syscall = syscall;
26
- return e;
27
- }
28
-
29
-
30
- function internalError(code, msg) {
31
- var e = new Error(msg);
32
- e.code = code;
33
- return e;
34
- }
35
-
36
-
37
- function recv(status, buf, path) {
38
- var rinfo = {
39
- size: buf.length,
40
- address: {},
41
- path : path
42
- };
43
- this.emit('message', buf, rinfo);
44
- }
45
-
46
-
47
- function writable() {
48
- this.emit('writable');
49
- }
50
-
51
- exports.createSocket = function(type, listener) {
52
- if (type == 'udp4' || type == 'udp6')
53
- return dgram.createSocket(type, listener);
54
-
55
- return new Socket(type, listener);
56
- };
57
-
58
-
59
- function Socket(type, listener) {
60
- if (type != 'unix_dgram')
61
- throw new Error('Unsupported socket type: ' + type);
62
-
63
- var err = socket(AF_UNIX, SOCK_DGRAM, 0, recv.bind(this), writable.bind(this));
64
- if (err < 0)
65
- throw errnoException(err, 'socket');
66
-
67
- this.fd = err;
68
- this.type = type;
69
-
70
- if (typeof listener === 'function')
71
- this.on('message', listener);
72
- }
73
- util.inherits(Socket, events.EventEmitter);
74
-
75
-
76
- Socket.prototype.bind = function(path) {
77
- var err = bind(this.fd, path);
78
- if (err < 0)
79
- this.emit('error', errnoException(err, 'bind'));
80
- else
81
- this.emit('listening');
82
- };
83
-
84
- Socket.prototype.connect = function(path) {
85
- var err = connect(this.fd, path);
86
- if (err < 0) {
87
- this.emit('error', errnoException(err, 'connect'));
88
- } else {
89
- this.connected = true;
90
- this.emit('connect');
91
- }
92
- };
93
-
94
- Socket.prototype.send = function(buf, offset, length, path, callback) {
95
- var err;
96
- if (this.connected) {
97
- err = send(this.fd, buf);
98
- callback = offset;
99
- } else {
100
- err = sendto(this.fd, buf, offset, length, path);
101
- }
102
-
103
- // FIXME defer error and callback to next tick?
104
- if (typeof callback === 'function') {
105
- if (err < 0) {
106
- callback(errnoException(err, 'send'));
107
- } else if (err === 1) {
108
- callback(internalError(err, 'congestion'));
109
- } else {
110
- callback();
111
- }
112
- } else {
113
- if (err < 0) {
114
- this.emit('error', errnoException(err, 'send'));
115
- } else if (err === 1) {
116
- this.emit('congestion', buf);
117
- }
118
- }
119
- };
120
-
121
-
122
- // compatibility
123
- Socket.prototype.sendto = function(buf, offset, length, path, callback) {
124
- return this.send(buf, offset, length, path, callback);
125
- };
126
-
127
-
128
- Socket.prototype.close = function() {
129
- var err = close(this.fd);
130
- if (err < 0)
131
- throw new errnoException(err, 'close');
132
- this.fd = -1;
133
- };
134
-
135
-
136
- Socket.prototype.address = function() {
137
- throw new Error('not implemented');
138
- };
139
-
140
-
141
- Socket.prototype.setTTL = function(ttl) {
142
- throw new Error('not implemented');
143
- };
144
-
145
-
146
- Socket.prototype.setBroadcast = function(flag) {
147
- throw new Error('not implemented');
148
- };
149
-
150
-
151
- Socket.prototype.setMulticastTTL = function(ttl) {
152
- throw new Error('not implemented');
153
- };
154
-
155
-
156
- Socket.prototype.setMulticastLoopback = function(flag) {
157
- throw new Error('not implemented');
158
- };
159
-
160
-
161
- Socket.prototype.addMembership = function(multicastAddress, multicastInterface) {
162
- throw new Error('not implemented');
163
- };
164
-
165
-
166
- Socket.prototype.dropMembership = function(multicastAddress, multicastInterface) {
167
- throw new Error('not implemented');
168
- };
@@ -1,36 +0,0 @@
1
- {
2
- "author": {
3
- "name": "Ben Noordhuis",
4
- "email": "info@bnoordhuis.nl",
5
- "url": "http://bnoordhuis.nl/"
6
- },
7
- "name": "unix-dgram",
8
- "version": "2.0.4",
9
- "description": "Unix datagram socket",
10
- "main": "lib/unix_dgram",
11
- "homepage": "https://github.com/bnoordhuis/node-unix-dgram",
12
- "license": {
13
- "type": "ISC",
14
- "url": "https://github.com/bnoordhuis/node-unix-dgram/LICENSE"
15
- },
16
- "repository": {
17
- "type": "git",
18
- "url": "git://github.com/bnoordhuis/node-unix-dgram.git"
19
- },
20
- "engines": {
21
- "node": ">=0.10.48"
22
- },
23
- "dependencies": {
24
- "bindings": "^1.3.0",
25
- "nan": "^2.13.2"
26
- },
27
- "devDependencies": {},
28
- "optionalDependencies": {},
29
- "scripts": {
30
- "test": "node test/test-dgram-unix.js && node test/test-connect.js && node test/test-connect-callback.js && node test/test-send-error.js"
31
- }
32
-
33
- ,"_resolved": "https://registry.npmjs.org/unix-dgram/-/unix-dgram-2.0.4.tgz"
34
- ,"_integrity": "sha512-7tpK6x7ls7J7pDrrAU63h93R0dVhRbPwiRRCawR10cl+2e1VOvF3bHlVJc6WI1dl/8qk5He673QU+Ogv7bPNaw=="
35
- ,"_from": "unix-dgram@2.0.4"
36
- }