osaf/libs/core/include/ncsencdec_pub.h | 1 -
osaf/libs/core/leap/hj_enc.c | 55 ++++++++++++---------------------
2 files changed, 21 insertions(+), 35 deletions(-)
modify osaf_encode_sanamet() so it does not assume the SaNameT varable being
encoded
is null terminated
diff --git a/osaf/libs/core/include/ncsencdec_pub.h
b/osaf/libs/core/include/ncsencdec_pub.h
--- a/osaf/libs/core/include/ncsencdec_pub.h
+++ b/osaf/libs/core/include/ncsencdec_pub.h
@@ -153,7 +153,6 @@ void osaf_encode_uint64(NCS_UBAID *ub, u
void osaf_decode_uint64(NCS_UBAID *ub, uint64_t *to);
void osaf_encode_sanamet(NCS_UBAID *ub, const SaNameT *name);
void osaf_decode_sanamet(NCS_UBAID *ub, SaNameT *name);
-void osaf_encode_sanamet_o2(NCS_UBAID *ub, SaConstStringT name);
void osaf_encode_saconststring(NCS_UBAID *ub, SaConstStringT str);
void osaf_encode_satimet(NCS_UBAID *ub, SaTimeT time);
void osaf_decode_satimet(NCS_UBAID *ub, SaTimeT *time);
diff --git a/osaf/libs/core/leap/hj_enc.c b/osaf/libs/core/leap/hj_enc.c
--- a/osaf/libs/core/leap/hj_enc.c
+++ b/osaf/libs/core/leap/hj_enc.c
@@ -378,13 +378,29 @@ void osaf_decode_uint64(NCS_UBAID *ub, u
void osaf_encode_sanamet(NCS_UBAID *ub, const SaNameT *name)
{
- TRACE_ENTER();
+ int i;
+ const size_t len = osaf_extended_name_length(name);
+ SaConstStringT str = osaf_extended_name_borrow(name);
- SaConstStringT str = osaf_extended_name_borrow(name);
- TRACE("str %s (%zu)", str, osaf_extended_name_length(name));
- osaf_encode_sanamet_o2(ub, str);
+ if (len < SA_MAX_UNEXTENDED_NAME_LENGTH) {
+ // encode a fixed 256 char string, to ensure
+ // we are backwards compatible
+ osaf_encode_uint16(ub, len);
- TRACE_LEAVE();
+ for (i = 0; i < len; i++) {
+ osaf_encode_uint8(ub, str[i]);
+ }
+
+ // need to encode SA_MAX_UNEXTENDED_NAME_LENGTH characters to
remain
+ // compatible with legacy osaf_decode_sanamet() [without long
DN support]
+ for (i = len; i < SA_MAX_UNEXTENDED_NAME_LENGTH; i++) {
+ osaf_encode_uint8(ub, 0);
+ }
+ } else {
+ // encode as a variable string
+ SaConstStringT str = osaf_extended_name_borrow(name);
+ osaf_encode_saconststring(ub, str);
+ }
}
void osaf_decode_sanamet(NCS_UBAID *ub, SaNameT *name)
@@ -443,35 +459,6 @@ void osaf_decode_saclmnodeaddresst(NCS_U
}
}
-void osaf_encode_sanamet_o2(NCS_UBAID *ub, SaConstStringT name)
-{
- TRACE_ENTER();
-
- int i;
- const size_t len = strlen(name);
-
- if (len < SA_MAX_UNEXTENDED_NAME_LENGTH) {
- // encode a fixed 256 char string, to ensure
- // we are backwards compatible
- osaf_encode_uint16(ub, len);
-
- for (i = 0; i < len; i++) {
- osaf_encode_uint8(ub, name[i]);
- }
-
- // need to encode SA_MAX_UNEXTENDED_NAME_LENGTH characters to
remain
- // compatible with legacy osaf_decode_sanamet() [without long
DN support]
- for (i = len; i < SA_MAX_UNEXTENDED_NAME_LENGTH; i++) {
- osaf_encode_uint8(ub, 0);
- }
- } else {
- // encode as a variable string
- osaf_encode_saconststring(ub, name);
- }
-
- TRACE_LEAVE();
-}
-
void osaf_encode_saconststring(NCS_UBAID *ub, SaConstStringT str)
{
size_t len = strlen(str);
------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel