aboutsummaryrefslogtreecommitdiffstats
path: root/lib/snmp/src/misc/snmp_misc.erl
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2013-06-04 06:21:12 +0200
committerBjörn Gustavsson <[email protected]>2013-06-04 06:21:12 +0200
commitca98e0725a3cb604bda6f3ab579dbcdb387dc180 (patch)
tree539abb22da04f59f0cee5052a070d0a7116dc019 /lib/snmp/src/misc/snmp_misc.erl
parent4a6e9afa8762e3f05ae081bafb02b0c5f2ac22bf (diff)
parent9b04c2649ce98c32335c05e90d501c2e66bb2f0e (diff)
downloadotp-ca98e0725a3cb604bda6f3ab579dbcdb387dc180.tar.gz
otp-ca98e0725a3cb604bda6f3ab579dbcdb387dc180.tar.bz2
otp-ca98e0725a3cb604bda6f3ab579dbcdb387dc180.zip
Merge branch 'maint'
* maint: (128 commits) beam_lib: Correct wrong type specification testSeqOf: Test constrained, extensible sizes [snmp/agent] Some restructuring of test suite Clean up testSeqOf Extend tests cases for BIT STRING Improve tests of ENUMERATED asn1ct_check: Eliminate useless Per argument from complist_as_tuple() asn1ct_check: Don't pass on #'ObjectClassFieldType'{} with fixed type asn1ct_gen_per: Remove useless renewal of 'enumval' Fix encoding of semi-constrained, extensible INTEGERs PER/UPER: Fix decoding of semi-constrained INTEGERs testPrim: Simplify test cases using a roundtrip function BER: Fix handling of a constructed default value for a class PER: Generate code for deep table constraints at compile-time Normalize data representation for table constraints asn1ct: Simplify check_value/2 Extend tests to cover more code in asn1ct_check Clean up checking of values for ENUMERATEDs Introduce a new mechanism for structured error handling asn1_db: Make dbput/3 and dbsave/2 asynchronous ...
Diffstat (limited to 'lib/snmp/src/misc/snmp_misc.erl')
-rw-r--r--lib/snmp/src/misc/snmp_misc.erl17
1 files changed, 16 insertions, 1 deletions
diff --git a/lib/snmp/src/misc/snmp_misc.erl b/lib/snmp/src/misc/snmp_misc.erl
index a061dcd97c..293b22991b 100644
--- a/lib/snmp/src/misc/snmp_misc.erl
+++ b/lib/snmp/src/misc/snmp_misc.erl
@@ -43,6 +43,7 @@
ip/1, ip/2,
is_auth/1,
is_BitString/1,
+ is_crypto_supported/1,
is_oid/1,
is_priv/1,
is_reportable/1,
@@ -117,13 +118,27 @@ now(sec) ->
(element(3,Now) div 1000000).
+is_crypto_supported(Alg) ->
+ %% The 'try catch' handles the case when 'crypto' is
+ %% not present in the system (or not started).
+ try
+ begin
+ Supported = crypto:supports(),
+ Hashs = proplists:get_value(hashs, Supported),
+ Ciphers = proplists:get_value(ciphers, Supported),
+ lists:member(Alg, Hashs ++ Ciphers)
+ end
+ catch
+ _:_ ->
+ false
+ end.
+
is_string([]) -> true;
is_string([Tkn | Str])
when is_integer(Tkn) andalso (Tkn >= 0) andalso (Tkn =< 255) ->
is_string(Str);
is_string(_) -> false.
-
is_oid([E1, E2| Rest])
when (length(Rest) =< 126) andalso (E1 *40 + E2 =< 255) ->
is_oid2(Rest);