[openib-general] [PATCH] osm: 'chmod' on Windows
Sasha Khapyorsky
sashak at voltaire.com
Sun Nov 26 08:11:52 PST 2006
On 17:51 Sun 26 Nov , Yevgeny Kliteynik wrote:
>
> Sasha Khapyorsky wrote:
> > On 15:22 Sun 26 Nov , Yevgeny Kliteynik wrote:
> >> Fixing to match 'chmod' implementation on Windows.
> >> Note that on Windows 'chmod' there's no such thing
> >> as user/group/all permissions - the permissions are
> >> aways for 'all'.
> >> Don't see why this would be a problem in this case,
> >> but still - worth mentioning.
> >
> > It is because SA dump file contains privileged information like lists
> > of subscribed ports.
>
> Well, since it's being dumped in the same directory as the OSM log,
> I guess it gets the same protection as the OSM log does, doesn't it?
No, the file is readable by owner only.
Sasha
>
> -- Yevgeny
>
> >> --
> >> Yevgeny
> >>
> >> Signed-off-by: Yevgeny Kliteynik <kliteyn at dev.mellanox.co.il>
> >>
> >> Index: opensm/osm_sa.c
> >> ===================================================================
> >> --- opensm/osm_sa.c (revision 10161)
> >> +++ opensm/osm_sa.c (working copy)
> >> @@ -70,6 +70,9 @@
> >> #include <opensm/osm_multicast.h>
> >> #include <opensm/osm_inform.h>
> >> #include <opensm/osm_service.h>
> >> +#ifdef WIN32
> >> +#include <io.h>
> >> +#endif /* WIN32 */
> >>
> >> #define OSM_SA_INITIAL_TID_VALUE 0xabc
> >>
> >> @@ -569,7 +572,11 @@ opensm_dump_to_file(osm_opensm_t *p_osm,
> >> return -1;
> >> }
> >>
> >> +#ifndef WIN32
> >> chmod(path, S_IRUSR|S_IWUSR);
> >> +#else
> >> + _chmod(path, _S_IREAD|_S_IWRITE);
> >> +#endif
> >
> > It would be very nice to not put such unneeded #ifdef(s) around common
> > sources. You can simply wrap this function in your WIN32 specific
> > config.h, something like:
> >
> > #define chmod(a,b) _chmod(a,b)
> > #define S_IRUSR _S_IREAD
> > #define S_IWUSR _S_IWRITE
> >
> > and this should solve this problem.
> >
> > Sasha
> >
More information about the general
mailing list