From ede5566fabac2b5e9a8d407e02143714d5e2cf07 Mon Sep 17 00:00:00 2001 From: ludwig Date: Sun, 6 Nov 2005 13:45:20 +0000 Subject: - set umask to 0077 before writing the cdkey, the rest of the world doesn't need to read it. git-svn-id: svn://svn.icculus.org/quake3/trunk@293 edf5b092-35ff-0310-97b2-ce42778d08ea --- code/qcommon/common.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'code/qcommon') diff --git a/code/qcommon/common.c b/code/qcommon/common.c index fac8cba..a2f76b9 100644 --- a/code/qcommon/common.c +++ b/code/qcommon/common.c @@ -24,8 +24,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #include "q_shared.h" #include "qcommon.h" #include -#if defined __linux__ || defined MACOS_X || defined __FreeBSD__ || defined __sun +#ifndef _WIN32 #include +#include // umask #else #include #endif @@ -2312,6 +2313,9 @@ static void Com_WriteCDKey( const char *filename, const char *ikey ) { fileHandle_t f; char fbuffer[MAX_OSPATH]; char key[17]; +#ifndef _WIN32 + mode_t savedumask; +#endif sprintf(fbuffer, "%s/q3key", filename); @@ -2323,10 +2327,13 @@ static void Com_WriteCDKey( const char *filename, const char *ikey ) { return; } +#ifndef _WIN32 + savedumask = umask(0077); +#endif f = FS_SV_FOpenFileWrite( fbuffer ); if ( !f ) { - Com_Printf ("Couldn't write %s.\n", filename ); - return; + Com_Printf ("Couldn't write CD key to %s.\n", fbuffer ); + goto out; } FS_Write( key, 16, f ); @@ -2336,6 +2343,11 @@ static void Com_WriteCDKey( const char *filename, const char *ikey ) { FS_Printf( f, "// id Software and Activision will NOT ask you to send this file to them.\r\n"); FS_FCloseFile( f ); +out: +#ifndef _WIN32 + umask(savedumask); +#endif + return; } #endif -- cgit v1.2.3