mirror of https://github.com/ioquake/ioq3.git
- set umask to 0077 before writing the cdkey, the rest of the world
doesn't need to read it.
This commit is contained in:
parent
4eaebe4a31
commit
87b12105bc
|
@ -24,8 +24,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
#include "q_shared.h"
|
#include "q_shared.h"
|
||||||
#include "qcommon.h"
|
#include "qcommon.h"
|
||||||
#include <setjmp.h>
|
#include <setjmp.h>
|
||||||
#if defined __linux__ || defined MACOS_X || defined __FreeBSD__ || defined __sun
|
#ifndef _WIN32
|
||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
|
#include <sys/stat.h> // umask
|
||||||
#else
|
#else
|
||||||
#include <winsock.h>
|
#include <winsock.h>
|
||||||
#endif
|
#endif
|
||||||
|
@ -2312,6 +2313,9 @@ static void Com_WriteCDKey( const char *filename, const char *ikey ) {
|
||||||
fileHandle_t f;
|
fileHandle_t f;
|
||||||
char fbuffer[MAX_OSPATH];
|
char fbuffer[MAX_OSPATH];
|
||||||
char key[17];
|
char key[17];
|
||||||
|
#ifndef _WIN32
|
||||||
|
mode_t savedumask;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
sprintf(fbuffer, "%s/q3key", filename);
|
sprintf(fbuffer, "%s/q3key", filename);
|
||||||
|
@ -2323,10 +2327,13 @@ static void Com_WriteCDKey( const char *filename, const char *ikey ) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef _WIN32
|
||||||
|
savedumask = umask(0077);
|
||||||
|
#endif
|
||||||
f = FS_SV_FOpenFileWrite( fbuffer );
|
f = FS_SV_FOpenFileWrite( fbuffer );
|
||||||
if ( !f ) {
|
if ( !f ) {
|
||||||
Com_Printf ("Couldn't write %s.\n", filename );
|
Com_Printf ("Couldn't write CD key to %s.\n", fbuffer );
|
||||||
return;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
FS_Write( key, 16, f );
|
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_Printf( f, "// id Software and Activision will NOT ask you to send this file to them.\r\n");
|
||||||
|
|
||||||
FS_FCloseFile( f );
|
FS_FCloseFile( f );
|
||||||
|
out:
|
||||||
|
#ifndef _WIN32
|
||||||
|
umask(savedumask);
|
||||||
|
#endif
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue