Re-enabled compilation without Libisofs_with_aaiP
but prepared messages of that code for existence of AA and ER of AAIP
This commit is contained in:
parent
1150ee32a4
commit
a5aedd51a4
@ -1938,7 +1938,7 @@ int read_root_susp_entries(_ImageFsData *data, uint32_t block)
|
|||||||
|
|
||||||
if (SUSP_SIG(sue, 'E', 'R')) {
|
if (SUSP_SIG(sue, 'E', 'R')) {
|
||||||
|
|
||||||
#ifndef Libisofs_with_aaiP
|
#ifndef Libisofs_with_aaiP_retro
|
||||||
/* ts A90113 : this warning is not appropriate any more */
|
/* ts A90113 : this warning is not appropriate any more */
|
||||||
|
|
||||||
if (data->rr_version) {
|
if (data->rr_version) {
|
||||||
@ -1951,7 +1951,7 @@ int read_root_susp_entries(_ImageFsData *data, uint32_t block)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* ! Libisofs_with_aaiP */
|
#endif /* ! Libisofs_with_aaiP_retro */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* it seems that Rock Ridge can be identified with any
|
* it seems that Rock Ridge can be identified with any
|
||||||
|
@ -4108,8 +4108,9 @@ void iso_stream_get_id(IsoStream *stream, unsigned int *fs_id, dev_t *dev_id,
|
|||||||
|
|
||||||
/* --------------------------------- AAIP --------------------------------- */
|
/* --------------------------------- AAIP --------------------------------- */
|
||||||
|
|
||||||
/* ts A90112 : Enable experiments about EA and ACL */
|
/* ts A90112 : Enable experiments about EA and ACL
|
||||||
#define Libisofs_with_aaiP yes
|
#define Libisofs_with_aaiP yes
|
||||||
|
*/
|
||||||
|
|
||||||
/* ts A90112
|
/* ts A90112
|
||||||
<<< write dummy AAIP fields with any node
|
<<< write dummy AAIP fields with any node
|
||||||
|
@ -1429,10 +1429,19 @@ int iso_node_get_attrs(IsoNode *node, size_t *num_attrs,
|
|||||||
int iso_node_set_attrs(IsoNode *node, size_t num_attrs, char **names,
|
int iso_node_set_attrs(IsoNode *node, size_t num_attrs, char **names,
|
||||||
size_t *value_lengths, char **values, int flag)
|
size_t *value_lengths, char **values, int flag)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
#ifdef Libisofs_with_aaiP
|
||||||
|
|
||||||
int ret;
|
int ret;
|
||||||
size_t sret, result_len;
|
size_t sret, result_len;
|
||||||
unsigned char *result;
|
unsigned char *result;
|
||||||
|
|
||||||
|
if (num_attrs == 0) {
|
||||||
|
ret = iso_node_remove_xinfo(node, aaip_xinfo_func);
|
||||||
|
if (ret < 0)
|
||||||
|
return ret;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
sret = aaip_encode("AA", num_attrs, names, value_lengths, values,
|
sret = aaip_encode("AA", num_attrs, names, value_lengths, values,
|
||||||
&result_len, &result, 0);
|
&result_len, &result, 0);
|
||||||
if (sret == 0)
|
if (sret == 0)
|
||||||
@ -1451,9 +1460,20 @@ int iso_node_set_attrs(IsoNode *node, size_t num_attrs, char **names,
|
|||||||
return ISO_ERROR;
|
return ISO_ERROR;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
|
#else /* Libisofs_with_aaiP */
|
||||||
|
|
||||||
|
/* >>> no support for attributes */
|
||||||
|
|
||||||
|
return ISO_ERROR;
|
||||||
|
|
||||||
|
#endif /* ! Libisofs_with_aaiP */
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef Libisofs_with_aaiP
|
||||||
|
|
||||||
static
|
static
|
||||||
int iso_decode_acl(unsigned char *v_data, size_t v_len, size_t *consumed,
|
int iso_decode_acl(unsigned char *v_data, size_t v_len, size_t *consumed,
|
||||||
char **text, size_t *text_fill, int flag)
|
char **text, size_t *text_fill, int flag)
|
||||||
@ -1478,10 +1498,15 @@ int iso_decode_acl(unsigned char *v_data, size_t v_len, size_t *consumed,
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* ! Libisofs_with_aaiP */
|
||||||
|
|
||||||
|
|
||||||
/* ts A90116 */
|
/* ts A90116 */
|
||||||
int iso_node_get_acl_text(IsoNode *node, char **text, int flag)
|
int iso_node_get_acl_text(IsoNode *node, char **text, int flag)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
#ifdef Libisofs_with_aaiP
|
||||||
|
|
||||||
size_t num_attrs = 0, *value_lengths = NULL, i, consumed, text_fill = 0;
|
size_t num_attrs = 0, *value_lengths = NULL, i, consumed, text_fill = 0;
|
||||||
size_t v_len;
|
size_t v_len;
|
||||||
char **names = NULL, **values = NULL;
|
char **names = NULL, **values = NULL;
|
||||||
@ -1496,8 +1521,6 @@ int iso_node_get_acl_text(IsoNode *node, char **text, int flag)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef Libisofs_with_aaiP
|
|
||||||
|
|
||||||
*text = NULL;
|
*text = NULL;
|
||||||
|
|
||||||
ret = iso_node_get_attrs(node, &num_attrs, &names,
|
ret = iso_node_get_attrs(node, &num_attrs, &names,
|
||||||
@ -1574,6 +1597,9 @@ bad_decode:;
|
|||||||
/* ts A90119 */
|
/* ts A90119 */
|
||||||
int iso_node_set_acl_text(IsoNode *node, char *acl_text, int flag)
|
int iso_node_set_acl_text(IsoNode *node, char *acl_text, int flag)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
#ifdef Libisofs_with_aaiP
|
||||||
|
|
||||||
size_t num_attrs = 0, *value_lengths = NULL, i, consumed;
|
size_t num_attrs = 0, *value_lengths = NULL, i, consumed;
|
||||||
size_t a_text_fill = 0, d_text_fill = 0;
|
size_t a_text_fill = 0, d_text_fill = 0;
|
||||||
size_t v_len, acl_len= 0;
|
size_t v_len, acl_len= 0;
|
||||||
@ -1585,8 +1611,6 @@ int iso_node_set_acl_text(IsoNode *node, char *acl_text, int flag)
|
|||||||
int ret;
|
int ret;
|
||||||
mode_t st_mode;
|
mode_t st_mode;
|
||||||
|
|
||||||
#ifdef Libisofs_with_aaiP
|
|
||||||
|
|
||||||
if (flag & 2) { /* want to update ACL by st_mode */
|
if (flag & 2) { /* want to update ACL by st_mode */
|
||||||
st_mode = iso_node_get_permissions(node);
|
st_mode = iso_node_get_permissions(node);
|
||||||
} else {
|
} else {
|
||||||
@ -1652,7 +1676,7 @@ int iso_node_set_acl_text(IsoNode *node, char *acl_text, int flag)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (a_text != NULL || d_text != NULL)
|
if (a_text != NULL || d_text != NULL)
|
||||||
ret = aaip_encode_both_acl(a_text, d_text, &acl_len, &acl, 0);
|
ret = aaip_encode_both_acl(a_text, d_text, &acl_len, &acl, 2);
|
||||||
else
|
else
|
||||||
ret = 1;
|
ret = 1;
|
||||||
if (ret <= 0) {
|
if (ret <= 0) {
|
||||||
@ -1680,9 +1704,9 @@ int iso_node_set_acl_text(IsoNode *node, char *acl_text, int flag)
|
|||||||
goto ex;
|
goto ex;
|
||||||
}
|
}
|
||||||
if (flag & 1)
|
if (flag & 1)
|
||||||
ret = aaip_encode_both_acl(NULL, acl_text, &acl_len, &acl, 0);
|
ret = aaip_encode_both_acl(NULL, acl_text, &acl_len, &acl, 2);
|
||||||
else
|
else
|
||||||
ret = aaip_encode_both_acl(acl_text, NULL, &acl_len, &acl, 0);
|
ret = aaip_encode_both_acl(acl_text, NULL, &acl_len, &acl, 2);
|
||||||
if (ret <= 0) {
|
if (ret <= 0) {
|
||||||
|
|
||||||
/* >>> cannot encode */;
|
/* >>> cannot encode */;
|
||||||
@ -1750,7 +1774,7 @@ bad_decode:;
|
|||||||
|
|
||||||
#else /* Libisofs_with_aaiP */
|
#else /* Libisofs_with_aaiP */
|
||||||
|
|
||||||
if (text != NULL) {
|
if (acl_text != NULL) {
|
||||||
|
|
||||||
/* >>> No ACL enabled in program code */;
|
/* >>> No ACL enabled in program code */;
|
||||||
|
|
||||||
|
@ -1178,10 +1178,10 @@ size_t rrip_calc_len(Ecma119Image *t, Ecma119Node *n, int type, size_t space,
|
|||||||
|
|
||||||
*ce += 160; /* ER of AAIP */
|
*ce += 160; /* ER of AAIP */
|
||||||
|
|
||||||
#endif /* Libisofs_with_aaiP */
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* Libisofs_with_aaiP */
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user