From d09ee8335edb5c995edfa113f99a0ff37adb8712 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Mon, 27 Feb 2012 15:02:25 +0000 Subject: [PATCH] New default permission on / directory: rwxr-xr-x --- libisoburn/isoburn.c | 3 +++ libisoburn/isoburn.h | 6 ++++++ libisoburn/isofs_wrap.c | 15 +++++++++++++++ xorriso/xorriso_timestamp.h | 2 +- 4 files changed, 25 insertions(+), 1 deletion(-) diff --git a/libisoburn/isoburn.c b/libisoburn/isoburn.c index 85de46e7..3b7aef44 100644 --- a/libisoburn/isoburn.c +++ b/libisoburn/isoburn.c @@ -162,6 +162,9 @@ int isoburn_new(struct isoburn **objpt, int flag) isoburn_report_iso_error(ret, "Cannot create image object", 0, "FATAL", 0); goto failed; } + ret= isoburn_root_defaults(o->image, 0); + if(ret <= 0) + goto failed; isoburn_link(o, isoburn_list_start, 1); return(1); failed:; diff --git a/libisoburn/isoburn.h b/libisoburn/isoburn.h index fd735965..62de6dd2 100644 --- a/libisoburn/isoburn.h +++ b/libisoburn/isoburn.h @@ -285,6 +285,12 @@ int isoburn_data_source_shutdown(IsoDataSource *src, int flag); int isoburn_adjust_target_iso_head(struct isoburn *o, uint32_t offst, int flag); + +/** Initialize the root directory attributes of a freshly created image. +*/ +int isoburn_root_defaults(IsoImage *image, int flag); + + /** * Options for image reading. (Comments here may be outdated. API getter/setter function descriptions diff --git a/libisoburn/isofs_wrap.c b/libisoburn/isofs_wrap.c index ddf66715..6e2442b9 100644 --- a/libisoburn/isofs_wrap.c +++ b/libisoburn/isofs_wrap.c @@ -126,6 +126,17 @@ static void isoburn_idle_free_function(void *ignored) } +int isoburn_root_defaults(IsoImage *image, int flag) +{ + IsoNode *root_node; + mode_t root_mode= 0755; + + root_node= (IsoNode *) iso_image_get_root(image); + iso_node_set_permissions(root_node, root_mode); + return(1); +} + + /* API function. See libisoburn.h */ int isoburn_read_image(struct burn_drive *d, @@ -192,6 +203,10 @@ create_blank_image:; } iso_image_set_ignore_aclea(o->image, (!!(read_opts->noacl)) | ((!!read_opts->noea) << 1) ); + + ret= isoburn_root_defaults(*image, 0); + if(ret <= 0) + goto ex; } {ret= 1; goto ex;} } diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index 691ae4ce..0a14c56d 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2012.02.25.194514" +#define Xorriso_timestamP "2012.02.27.150241"