forked from Mirrors/privacore-open-source-search-engine
all files made are now group writable.
if you don't like that then you can make a special group and set the directory just group writable for that group using chmod g+s <dir>.
This commit is contained in:
@ -33,7 +33,7 @@ BigFile::~BigFile () {
|
||||
//#define O_DIRECT 040000
|
||||
|
||||
BigFile::BigFile () {
|
||||
m_permissions = S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH ;
|
||||
//m_permissions = S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH ;
|
||||
m_flags = O_RDWR ; // | O_DIRECT;
|
||||
m_usePartFiles = true;
|
||||
// NULLify all ptrs to files
|
||||
@ -289,7 +289,7 @@ bool BigFile::open ( int flags ,
|
||||
|
||||
m_flags = flags;
|
||||
//m_pc = pc;
|
||||
m_permissions = permissions;
|
||||
//m_permissions = permissions;
|
||||
m_isClosing = false;
|
||||
// this is true except when parsing big warc files
|
||||
m_usePartFiles = true;//usePartFiles;
|
||||
@ -363,7 +363,7 @@ int BigFile::getfd ( int32_t n , bool forReading ) { // , int64_t *vfd ) {
|
||||
}
|
||||
// open it if not opened
|
||||
if ( ! f->calledOpen() ) {
|
||||
if ( ! f->open ( m_flags , m_permissions ) ) {
|
||||
if ( ! f->open ( m_flags , getFileCreationFlags() ) ) {
|
||||
log("disk: Failed to open file part #%"INT32".",n);
|
||||
return -1;
|
||||
}
|
||||
|
@ -353,7 +353,7 @@ class BigFile {
|
||||
SafeBuf m_newBaseFilenameDir ;//[256];
|
||||
|
||||
|
||||
int32_t m_permissions;
|
||||
//int32_t m_permissions;
|
||||
int32_t m_flags;
|
||||
|
||||
// determined in open() override
|
||||
|
@ -631,9 +631,10 @@ bool Collectiondb::addNewColl ( char *coll ,
|
||||
// MDW: create the new directory
|
||||
retry22:
|
||||
if ( ::mkdir ( dname ,
|
||||
S_IRUSR | S_IWUSR | S_IXUSR |
|
||||
S_IRGRP | S_IWGRP | S_IXGRP |
|
||||
S_IROTH | S_IXOTH ) ) {
|
||||
getFileCreationFlags() ) ) {
|
||||
// S_IRUSR | S_IWUSR | S_IXUSR |
|
||||
// S_IRGRP | S_IWGRP | S_IXGRP |
|
||||
// S_IROTH | S_IXOTH ) ) {
|
||||
// valgrind?
|
||||
if ( errno == EINTR ) goto retry22;
|
||||
g_errno = errno;
|
||||
@ -1399,9 +1400,10 @@ bool Collectiondb::resetColl2( collnum_t oldCollnum,
|
||||
"directory %s already exists on disk.",cr->m_coll,dname);
|
||||
}
|
||||
if ( ::mkdir ( dname ,
|
||||
S_IRUSR | S_IWUSR | S_IXUSR |
|
||||
S_IRGRP | S_IWGRP | S_IXGRP |
|
||||
S_IROTH | S_IXOTH ) ) {
|
||||
getFileCreationFlags() ) ) {
|
||||
// S_IRUSR | S_IWUSR | S_IXUSR |
|
||||
// S_IRGRP | S_IWGRP | S_IXGRP |
|
||||
// S_IROTH | S_IXOTH ) ) {
|
||||
// valgrind?
|
||||
//if ( errno == EINTR ) goto retry22;
|
||||
//g_errno = errno;
|
||||
|
6
Conf.cpp
6
Conf.cpp
@ -9,6 +9,12 @@
|
||||
|
||||
Conf g_conf;
|
||||
|
||||
mode_t getFileCreationFlags() {
|
||||
//if ( g_conf.m_makeAllFilesGroupWritable )
|
||||
return S_IRWXU | S_IRWXG;
|
||||
//return S_IRWXU;
|
||||
}
|
||||
|
||||
Conf::Conf ( ) {
|
||||
m_save = true;
|
||||
m_doingCommandLine = false;
|
||||
|
6
Conf.h
6
Conf.h
@ -43,6 +43,8 @@
|
||||
|
||||
#define MAX_GEOCODERS 4
|
||||
|
||||
mode_t getFileCreationFlags();
|
||||
|
||||
class Conf {
|
||||
|
||||
public:
|
||||
@ -180,7 +182,9 @@ class Conf {
|
||||
//bool m_tagdbUseSeals;
|
||||
//int32_t m_tagdbMinFilesToMerge;
|
||||
//bool m_tagdbSaveCache;
|
||||
|
||||
|
||||
//bool m_makeAllFilesGroupWritable;
|
||||
|
||||
// catdb parameters
|
||||
int32_t m_catdbMaxTreeMem;
|
||||
//int32_t m_catdbMaxDiskPageCacheMem;
|
||||
|
3
File.cpp
3
File.cpp
@ -239,6 +239,9 @@ bool File::open ( int flags , int permissions ) {
|
||||
// save these in case we need to reopen in getfd()
|
||||
m_flags = flags;
|
||||
m_permissions = permissions;
|
||||
// just override and use system settings so we can get the group
|
||||
// writable/readable/executable bits if set that way in g_conf
|
||||
m_permissions = getFileCreationFlags();
|
||||
m_calledOpen = true;
|
||||
// sanity check
|
||||
//int32_t ss = 0;
|
||||
|
@ -623,8 +623,10 @@ bool HashTableX::save ( char *dir ,
|
||||
char s[1024];
|
||||
sprintf ( s , "%s/%s", dir , filename );
|
||||
int fd = ::open ( s ,
|
||||
O_RDWR | O_CREAT | O_TRUNC , S_IRUSR | S_IWUSR |
|
||||
S_IRGRP | S_IWGRP | S_IROTH);
|
||||
O_RDWR | O_CREAT | O_TRUNC ,
|
||||
getFileCreationFlags() );
|
||||
// S_IRUSR | S_IWUSR |
|
||||
// S_IRGRP | S_IWGRP | S_IROTH);
|
||||
if ( fd < 0 ) {
|
||||
//m_saveErrno = errno;
|
||||
return log("db: Could not open %s for writing: %s.",
|
||||
|
@ -1991,7 +1991,8 @@ bool Hostdb::saveHostsConf ( ) {
|
||||
log ( LOG_INFO, "conf: Writing hosts.conf file to: %s",
|
||||
filename );
|
||||
int32_t fd = open ( filename, O_CREAT|O_WRONLY|O_TRUNC,
|
||||
S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH );
|
||||
getFileCreationFlags() );
|
||||
// S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH );
|
||||
if ( !fd ) {
|
||||
log ( "conf: Failed to open %s for writing.", filename );
|
||||
return false;
|
||||
|
@ -1007,7 +1007,10 @@ void Images::thumbStart_r ( bool amThread ) {
|
||||
|
||||
// Open/Create temporary file to store image to
|
||||
int fhndl;
|
||||
if( (fhndl = open( in, O_RDWR+O_CREAT, S_IWUSR+S_IRUSR )) < 0 ) {
|
||||
if( (fhndl = open( in, O_RDWR+O_CREAT,
|
||||
getFileCreationFlags()
|
||||
// S_IWUSR+S_IRUSR
|
||||
)) < 0 ) {
|
||||
log( "image: Could not open file, %s, for writing: %s - %d.",
|
||||
in, mstrerror( m_errno ), fhndl );
|
||||
m_imgDataSize = 0;
|
||||
|
26
Language.cpp
26
Language.cpp
@ -145,7 +145,7 @@ bool Language::convertLatin1DictToUTF8( char *infile ){
|
||||
// then open a new one for appending
|
||||
int fdw = open ( ff ,
|
||||
O_CREAT | O_RDWR | O_APPEND ,
|
||||
S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH);
|
||||
// S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH);
|
||||
if ( fdw < 0 ){
|
||||
return log("lang: Could not open for %s "
|
||||
"writing: %s.",ff, strerror(errno));
|
||||
@ -2763,7 +2763,7 @@ bool Language::makeWordFiles ( int32_t numWordsToDump , int32_t numWordsPerPhras
|
||||
// then open a new one for appending
|
||||
fds[i] = open ( ff ,
|
||||
O_CREAT | O_RDWR | O_APPEND ,
|
||||
S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH);
|
||||
// S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH);
|
||||
if ( fds[i] < 0 )
|
||||
return log("lang: Could not open %s for writing: "
|
||||
"%s.",ff, strerror(errno));
|
||||
@ -3146,7 +3146,7 @@ bool Language::makePopFiles ( int32_t numWordsToDump , int32_t numWordsPerPhrase
|
||||
// then open a new one for appending
|
||||
fds[i] = open ( ff ,
|
||||
O_CREAT | O_RDWR | O_APPEND ,
|
||||
S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH);
|
||||
// S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH);
|
||||
if ( fds[i] < 0 )
|
||||
return log("lang: Could not open %s for writing: "
|
||||
"%s.",ff, strerror(errno));
|
||||
@ -3683,7 +3683,7 @@ bool Language::makeQueryFiles ( ) {
|
||||
// then open a new one for appending
|
||||
int fdw = open ( ff ,
|
||||
O_CREAT | O_RDWR | O_APPEND ,
|
||||
S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH);
|
||||
// S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH);
|
||||
if ( fdw < 0 ){
|
||||
return log("lang: Could not open for %s "
|
||||
"writing: %s.",ff, strerror(errno));
|
||||
@ -3874,7 +3874,7 @@ bool Language::makeWikiFiles( ) {
|
||||
// then open a new one for appending
|
||||
int fdw = open ( ff ,
|
||||
O_CREAT | O_RDWR | O_APPEND ,
|
||||
S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH);
|
||||
// S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH);
|
||||
if ( fdw < 0 ){
|
||||
log("lang: Could not open for %s "
|
||||
"writing: %s.",ff, strerror(errno));
|
||||
@ -4250,7 +4250,7 @@ bool Language::gotTermFreqs( StateDict *st ){
|
||||
// then open a new one for appending
|
||||
fd = open ( ff ,
|
||||
O_CREAT | O_RDWR | O_APPEND ,
|
||||
S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH);
|
||||
// S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH);
|
||||
if ( fd < 0 ){
|
||||
log("lang: Could not open %s for writing: "
|
||||
"%s.",ff, strerror(errno));
|
||||
@ -4338,7 +4338,7 @@ bool StateAff::openAffinityFile( ){
|
||||
unlink ( ff );
|
||||
// then open a new one for appending
|
||||
m_fdw = open ( ff , O_CREAT | O_RDWR | O_APPEND ,
|
||||
S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH);
|
||||
// S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH);
|
||||
if ( m_fdw < 0 ){
|
||||
log("lang: Could not open for %s "
|
||||
"writing: %s.",ff, strerror(errno));
|
||||
@ -4537,7 +4537,7 @@ bool Language::cleanDictFile ( ) {
|
||||
// then open a new one for appending
|
||||
int fdw = open ( ff ,
|
||||
O_CREAT | O_RDWR | O_APPEND ,
|
||||
S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH);
|
||||
// S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH);
|
||||
if ( fdw < 0 ){
|
||||
return log("lang: Could not open for %s "
|
||||
"writing: %s.",ff, strerror(errno));
|
||||
@ -4590,7 +4590,7 @@ bool Language::makePhonet( char *infile){
|
||||
// then open a new one for appending
|
||||
fdw = open ( outfile ,
|
||||
O_CREAT | O_RDWR | O_APPEND ,
|
||||
S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH);
|
||||
// S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH);
|
||||
if ( fdw < 0 )
|
||||
return log("lang: Could not open %s for writing: "
|
||||
"%s.", outfile, strerror(errno));
|
||||
@ -4711,7 +4711,7 @@ bool Language::genTopPopFile ( char *infile ){
|
||||
// then open a new one for appending
|
||||
fdw = open ( outfile ,
|
||||
O_CREAT | O_RDWR | O_APPEND ,
|
||||
S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH);
|
||||
// S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH);
|
||||
if ( fdw < 0 )
|
||||
return log("lang: Could not open %s for writing: "
|
||||
"%s.", outfile, strerror(errno));
|
||||
@ -4761,7 +4761,8 @@ bool Language::genDistributedPopFile ( char *infile, uint32_t myHash ){
|
||||
// then open a new one for appending
|
||||
fdw = open ( outfile ,
|
||||
O_CREAT | O_RDWR | O_APPEND ,
|
||||
S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH);
|
||||
getFileCreationFlags() );
|
||||
// S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH);
|
||||
if ( fdw < 0 )
|
||||
return log("lang: Could not open %s for writing: "
|
||||
"%s.", outfile, strerror(errno));
|
||||
@ -4848,7 +4849,8 @@ int32_t Language::spellcheckDict(){
|
||||
// then open a new one for appending
|
||||
fdw = open ( outfile ,
|
||||
O_CREAT | O_RDWR | O_APPEND ,
|
||||
S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH);
|
||||
getFileCreationFlags() );
|
||||
// S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH);
|
||||
if ( fdw < 0 )
|
||||
return log("lang: Could not open %s for writing: "
|
||||
"%s.", outfile, strerror(errno));
|
||||
|
6
Log.cpp
6
Log.cpp
@ -133,7 +133,8 @@ bool Log::init ( char *filename ) {
|
||||
// create with -rw-rw-r-- permissions if it's not there.
|
||||
m_fd = open ( m_filename ,
|
||||
O_APPEND | O_CREAT | O_RDWR ,
|
||||
S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH );
|
||||
getFileCreationFlags() );
|
||||
// S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH );
|
||||
if ( m_fd >= 0 ) return true;
|
||||
// bitch to stderr and return false on error
|
||||
fprintf(stderr,"could not open log file %s for appending\n",
|
||||
@ -423,7 +424,8 @@ bool Log::makeNewLogFile ( ) {
|
||||
// create with -rw-rw-r-- permissions if it's not there.
|
||||
m_fd = open ( m_filename ,
|
||||
O_APPEND | O_CREAT | O_RDWR ,
|
||||
S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH );
|
||||
getFileCreationFlags() );
|
||||
// S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH );
|
||||
if ( m_fd >= 0 ) return true;
|
||||
// bitch to stderr and return false on error
|
||||
fprintf(stderr,"could not open new log file %s for appending\n",
|
||||
|
@ -2355,8 +2355,10 @@ bool getTestSpideredDate ( Url *u , int32_t *origSpideredDate , char *testDir )
|
||||
|
||||
bool addTestSpideredDate ( Url *u , int32_t spideredTime , char *testDir ) {
|
||||
|
||||
mode_t fileCreationMode = getFileCreationFlags();
|
||||
|
||||
// ensure dir exists
|
||||
::mkdir(testDir,S_IRWXU);
|
||||
::mkdir(testDir,fileCreationMode);
|
||||
|
||||
// set this
|
||||
int64_t uh64 = hash64(u->getUrl(),u->getUrlLen());
|
||||
|
@ -58,7 +58,8 @@ void handleRequest ( UdpSlot *slot , int32_t netnice ) {
|
||||
}
|
||||
|
||||
int32_t fd = open ( filename , O_RDONLY,
|
||||
S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH );
|
||||
getFileCreationFlags() );
|
||||
// S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH );
|
||||
if ( ! fd ) {
|
||||
log(LOG_DEBUG, "logviewer: Failed to open %s for reading: ",
|
||||
filename);
|
||||
|
3
Msg4.cpp
3
Msg4.cpp
@ -1435,7 +1435,8 @@ bool saveAddsInProgress ( char *prefix ) {
|
||||
g_hostdb.m_dir , prefix );
|
||||
|
||||
int32_t fd = open ( filename, O_RDWR | O_CREAT | O_TRUNC ,
|
||||
S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH );
|
||||
getFileCreationFlags() );
|
||||
// S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH );
|
||||
if ( fd < 0 ) {
|
||||
log ("build: Failed to open %s for writing: %s",
|
||||
filename,strerror(errno));
|
||||
|
20
Parms.cpp
20
Parms.cpp
@ -12415,12 +12415,30 @@ void Parms::init ( ) {
|
||||
m->m_type = TYPE_BOOL;
|
||||
m->m_def = "0";
|
||||
m->m_group = 0;
|
||||
m->m_flags = 0;//PF_HIDDEN | PF_NOSAVE;
|
||||
m->m_flags = PF_API;//PF_HIDDEN | PF_NOSAVE;
|
||||
m->m_page = PAGE_MASTER;
|
||||
m->m_obj = OBJ_CONF;
|
||||
m->m_group = 0;
|
||||
m++;
|
||||
|
||||
/*
|
||||
m->m_title = "files group writable";
|
||||
m->m_desc = "Make all created files group writable? If you have "
|
||||
"multiple user accounts starting Gigablast processes you "
|
||||
"will want the files to be group writable. You will "
|
||||
"need to make sure you run gigablast under the "
|
||||
"primary group you want to use for gigablast administration.";
|
||||
m->m_cgi = "afgw";
|
||||
m->m_off = (char *)&g_conf.m_makeAllFilesGroupWritable - g;
|
||||
m->m_type = TYPE_BOOL;
|
||||
m->m_def = "0";
|
||||
m->m_group = 0;
|
||||
m->m_flags = PF_API;//PF_HIDDEN | PF_NOSAVE;
|
||||
m->m_page = PAGE_MASTER;
|
||||
m->m_obj = OBJ_CONF;
|
||||
m->m_group = 0;
|
||||
m++;
|
||||
*/
|
||||
|
||||
|
||||
m->m_title = "max spider read threads";
|
||||
|
@ -1862,7 +1862,8 @@ Profiler::printRealTimeInfo(SafeBuf *sb,
|
||||
ff.safePrintf("%strash/profile.txt",g_hostdb.m_dir);
|
||||
char *filename = ff.getBufStart();
|
||||
unlink ( filename );
|
||||
int fd = open ( filename , O_RDWR | O_CREAT , S_IRWXU );
|
||||
mode_t fileCreationMode = getFileCreationFlags();
|
||||
int fd = open ( filename , O_RDWR | O_CREAT , fileCreationMode );
|
||||
if ( fd < 0 ) {
|
||||
sb->safePrintf("FAILED TO OPEN %s for writing: %s"
|
||||
,ff.getBufStart(),mstrerror(errno));
|
||||
@ -2090,7 +2091,7 @@ Profiler::printRealTimeInfo(SafeBuf *sb,
|
||||
ff.reset();
|
||||
ff.safePrintf("%strash/qp.txt",g_hostdb.m_dir);
|
||||
filename = ff.getBufStart();
|
||||
fd = open ( filename , O_RDWR | O_CREAT , S_IRWXU );
|
||||
//fd = open ( filename , O_RDWR | O_CREAT , S_IRWXU );
|
||||
if ( fd < 0 ) {
|
||||
sb->safePrintf("FAILED TO OPEN %s for writing: %s"
|
||||
,ff.getBufStart(),strerror(errno));
|
||||
|
24
Rdb.cpp
24
Rdb.cpp
@ -374,16 +374,16 @@ bool Rdb::updateToRebuildFiles ( Rdb *rdb2 , char *coll ) {
|
||||
char dstDir[256];
|
||||
// make the trash dir if not there
|
||||
sprintf ( dstDir , "%s/trash/" , g_hostdb.m_dir );
|
||||
int32_t status = ::mkdir ( dstDir ,
|
||||
S_IRUSR | S_IWUSR | S_IXUSR |
|
||||
S_IRGRP | S_IWGRP | S_IXGRP |
|
||||
S_IROTH | S_IXOTH ) ;
|
||||
int32_t status = ::mkdir ( dstDir , getFileCreationFlags() );
|
||||
// S_IRUSR | S_IWUSR | S_IXUSR |
|
||||
// S_IRGRP | S_IWGRP | S_IXGRP |
|
||||
// S_IROTH | S_IXOTH ) ;
|
||||
// we have to create it
|
||||
sprintf ( dstDir , "%s/trash/rebuilt%"UINT32"/" , g_hostdb.m_dir , t );
|
||||
status = ::mkdir ( dstDir ,
|
||||
S_IRUSR | S_IWUSR | S_IXUSR |
|
||||
S_IRGRP | S_IWGRP | S_IXGRP |
|
||||
S_IROTH | S_IXOTH ) ;
|
||||
status = ::mkdir ( dstDir , getFileCreationFlags() );
|
||||
// S_IRUSR | S_IWUSR | S_IXUSR |
|
||||
// S_IRGRP | S_IWGRP | S_IXGRP |
|
||||
// S_IROTH | S_IXOTH ) ;
|
||||
if ( status && errno != EEXIST ) {
|
||||
g_errno = errno;
|
||||
return log("repair: Could not mkdir(%s): %s",dstDir,
|
||||
@ -643,10 +643,10 @@ bool Rdb::deleteAllRecs ( collnum_t collnum ) {
|
||||
bool makeTrashDir() {
|
||||
char trash[1024];
|
||||
sprintf(trash, "%strash/",g_hostdb.m_dir);
|
||||
if ( ::mkdir ( trash,
|
||||
S_IRUSR | S_IWUSR | S_IXUSR |
|
||||
S_IRGRP | S_IWGRP | S_IXGRP |
|
||||
S_IROTH | S_IXOTH ) == -1 ) {
|
||||
if ( ::mkdir ( trash, getFileCreationFlags() ) ) {
|
||||
// S_IRUSR | S_IWUSR | S_IXUSR |
|
||||
// S_IRGRP | S_IWGRP | S_IXGRP |
|
||||
// S_IROTH | S_IXOTH ) == -1 ) {
|
||||
if ( errno != EEXIST ) {
|
||||
log("dir: mkdir %s had error: %s",
|
||||
trash,mstrerror(errno));
|
||||
|
32
RdbBase.cpp
32
RdbBase.cpp
@ -165,10 +165,10 @@ bool RdbBase::init ( char *dir ,
|
||||
}
|
||||
// make a special "cat" dir for it if we need to
|
||||
sprintf ( tmp , "%s%s" , dir , dbname );
|
||||
int32_t status = ::mkdir ( tmp ,
|
||||
S_IRUSR | S_IWUSR | S_IXUSR |
|
||||
S_IRGRP | S_IWGRP | S_IXGRP |
|
||||
S_IROTH | S_IXOTH );
|
||||
int32_t status = ::mkdir ( tmp , getFileCreationFlags() );
|
||||
// S_IRUSR | S_IWUSR | S_IXUSR |
|
||||
// S_IRGRP | S_IWGRP | S_IXGRP |
|
||||
// S_IROTH | S_IXOTH );
|
||||
if ( status == -1 && errno != EEXIST && errno )
|
||||
return log("db: Failed to make directory %s: %s.",
|
||||
tmp,mstrerror(errno));
|
||||
@ -186,9 +186,9 @@ bool RdbBase::init ( char *dir ,
|
||||
// make a special "cat" dir for it if we need to
|
||||
sprintf ( tmp , "%scat" , dir );
|
||||
if ( ::mkdir ( tmp ,
|
||||
S_IRUSR | S_IWUSR | S_IXUSR |
|
||||
S_IRGRP | S_IWGRP | S_IXGRP |
|
||||
S_IROTH | S_IXOTH ) == -1 && errno != EEXIST )
|
||||
// S_IRUSR | S_IWUSR | S_IXUSR |
|
||||
// S_IRGRP | S_IWGRP | S_IXGRP |
|
||||
// S_IROTH | S_IXOTH ) == -1 && errno != EEXIST )
|
||||
return log("db: Failed to make directory %s: %s.",
|
||||
tmp,mstrerror(errno));
|
||||
}
|
||||
@ -202,9 +202,9 @@ bool RdbBase::init ( char *dir ,
|
||||
// make a special "stats" dir for it if necessary
|
||||
sprintf ( tmp , "%sstats" , dir );
|
||||
if ( ::mkdir ( tmp ,
|
||||
S_IRUSR | S_IWUSR | S_IXUSR |
|
||||
S_IRGRP | S_IWGRP | S_IXGRP |
|
||||
S_IROTH | S_IXOTH ) == -1 && errno != EEXIST )
|
||||
// S_IRUSR | S_IWUSR | S_IXUSR |
|
||||
// S_IRGRP | S_IWGRP | S_IXGRP |
|
||||
// S_IROTH | S_IXOTH ) == -1 && errno != EEXIST )
|
||||
return log( "db: Failed to make directory %s: %s.",
|
||||
tmp, mstrerror( errno ) );
|
||||
}
|
||||
@ -218,9 +218,9 @@ bool RdbBase::init ( char *dir ,
|
||||
// make a special "stats" dir for it if necessary
|
||||
sprintf ( tmp , "%saccess" , dir );
|
||||
if ( ::mkdir ( tmp ,
|
||||
S_IRUSR | S_IWUSR | S_IXUSR |
|
||||
S_IRGRP | S_IWGRP | S_IXGRP |
|
||||
S_IROTH | S_IXOTH ) == -1 && errno != EEXIST )
|
||||
// S_IRUSR | S_IWUSR | S_IXUSR |
|
||||
// S_IRGRP | S_IWGRP | S_IXGRP |
|
||||
// S_IROTH | S_IXOTH ) == -1 && errno != EEXIST )
|
||||
return log( "db: Failed to make directory %s: %s.",
|
||||
tmp, mstrerror( errno ) );
|
||||
}
|
||||
@ -234,9 +234,9 @@ bool RdbBase::init ( char *dir ,
|
||||
// make a special "stats" dir for it if necessary
|
||||
sprintf ( tmp , "%ssyncdb" , dir );
|
||||
if ( ::mkdir ( tmp ,
|
||||
S_IRUSR | S_IWUSR | S_IXUSR |
|
||||
S_IRGRP | S_IWGRP | S_IXGRP |
|
||||
S_IROTH | S_IXOTH ) == -1 && errno != EEXIST )
|
||||
// S_IRUSR | S_IWUSR | S_IXUSR |
|
||||
// S_IRGRP | S_IWGRP | S_IXGRP |
|
||||
// S_IROTH | S_IXOTH ) == -1 && errno != EEXIST )
|
||||
return log( "db: Failed to make directory %s: %s.",
|
||||
tmp, mstrerror( errno ) );
|
||||
}
|
||||
|
@ -2060,8 +2060,10 @@ bool RdbBuckets::fastSave_r() {
|
||||
char s[1024];
|
||||
sprintf ( s , "%s/%s-buckets-saving.dat", m_dir , m_dbname );
|
||||
int fd = ::open ( s ,
|
||||
O_RDWR | O_CREAT | O_TRUNC , S_IRUSR | S_IWUSR |
|
||||
S_IRGRP | S_IWGRP | S_IROTH);
|
||||
O_RDWR | O_CREAT | O_TRUNC ,
|
||||
getFileCreationFlags() );
|
||||
// S_IRUSR | S_IWUSR |
|
||||
// S_IRGRP | S_IWGRP | S_IROTH);
|
||||
if ( fd < 0 ) {
|
||||
m_saveErrno = errno;
|
||||
return log("db: Could not open %s for writing: %s.",
|
||||
|
@ -1474,7 +1474,8 @@ bool RdbCache::save_r ( ) {
|
||||
//f.set ( g_hostdb.m_dir , filename );
|
||||
// open the file
|
||||
//if ( ! f.open ( O_RDWR | O_CREAT ) )
|
||||
int fd = open ( filename , O_RDWR | O_CREAT , S_IRWXU );
|
||||
mode_t fileCreationMode = getFileCreationFlags();
|
||||
int fd = open ( filename , O_RDWR | O_CREAT , fileCreationMode );
|
||||
if ( fd < 0 )
|
||||
return log("db: Had opening file to save cache to: %s.",
|
||||
mstrerror(errno));
|
||||
|
@ -2488,8 +2488,10 @@ bool RdbTree::fastSave_r() {
|
||||
char s[1024];
|
||||
sprintf ( s , "%s/%s-saving.dat", m_dir , m_dbname );
|
||||
int fd = ::open ( s ,
|
||||
O_RDWR | O_CREAT | O_TRUNC , S_IRUSR | S_IWUSR |
|
||||
S_IRGRP | S_IWGRP | S_IROTH);
|
||||
O_RDWR | O_CREAT | O_TRUNC ,
|
||||
getFileCreationFlags() );
|
||||
// S_IRUSR | S_IWUSR |
|
||||
// S_IRGRP | S_IWGRP | S_IROTH);
|
||||
if ( fd < 0 ) {
|
||||
m_saveErrno = errno;
|
||||
return log("db: Could not open %s for writing: %s.",
|
||||
|
10
SafeBuf.cpp
10
SafeBuf.cpp
@ -449,8 +449,10 @@ int32_t SafeBuf::save ( char *fullFilename ) {
|
||||
|
||||
int32_t SafeBuf::dumpToFile(char *filename ) {
|
||||
retry22:
|
||||
mode_t fileCreationMode = getFileCreationFlags();
|
||||
int32_t fd = open ( filename , O_CREAT | O_WRONLY | O_TRUNC,
|
||||
S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH );
|
||||
fileCreationMode );
|
||||
//S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH );
|
||||
if ( fd < 0 ) {
|
||||
// valgrind
|
||||
if ( errno == EINTR ) goto retry22;
|
||||
@ -485,7 +487,8 @@ int32_t SafeBuf::safeSave (char *filename ) {
|
||||
|
||||
int32_t fd = open ( fn.getBufStart() ,
|
||||
O_CREAT | O_WRONLY | O_TRUNC,
|
||||
S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH );
|
||||
getFileCreationFlags() );
|
||||
// S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH );
|
||||
if ( fd < 0 ) {
|
||||
// valgrind
|
||||
if ( errno == EINTR ) goto retry22;
|
||||
@ -572,7 +575,8 @@ int32_t SafeBuf::fillFromFile(char *filename) {
|
||||
|
||||
retry:
|
||||
int32_t fd = open ( filename , O_RDONLY,
|
||||
S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH );
|
||||
getFileCreationFlags() );
|
||||
// S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH );
|
||||
if ( ! fd ) {
|
||||
// valgrind
|
||||
if ( errno == EINTR ) goto retry;
|
||||
|
@ -1805,7 +1805,8 @@ bool Speller::createUnifiedDict (){
|
||||
// then open a new one for appending
|
||||
int fdw = open ( ff ,
|
||||
O_CREAT | O_RDWR | O_APPEND ,
|
||||
S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH);
|
||||
getFileCreationFlags());
|
||||
// S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP| S_IROTH);
|
||||
if ( fdw < 0 ){
|
||||
return log("lang: Could not open for %s "
|
||||
"writing: %s.",ff, strerror(errno));
|
||||
|
@ -18645,9 +18645,10 @@ void XmlDoc::filterStart_r ( bool amThread ) {
|
||||
unlink ( out );
|
||||
// ignore errno from those unlinks
|
||||
errno = 0;
|
||||
mode_t fileCreationMode = getFileCreationFlags();
|
||||
// open the input file
|
||||
retry11:
|
||||
int fd = open ( in , O_WRONLY | O_CREAT , S_IRWXU );
|
||||
int fd = open ( in , O_WRONLY | O_CREAT , fileCreationMode );
|
||||
if ( fd < 0 ) {
|
||||
// valgrind
|
||||
if ( errno == EINTR ) goto retry11;
|
||||
@ -34807,11 +34808,12 @@ int gbcompress7 ( unsigned char *dest ,
|
||||
else sprintf ( out , "%s/in.7z", g_hostdb.m_dir );
|
||||
if ( ! compress )
|
||||
unlink ( out );
|
||||
mode_t fileCreationMode = getFileCreationFlags();
|
||||
// ignore errno from those unlinks
|
||||
errno = 0;
|
||||
// open the input file
|
||||
retry11:
|
||||
int fd = open ( in , O_WRONLY | O_CREAT , S_IRWXU );
|
||||
int fd = open ( in , O_WRONLY | O_CREAT , fileCreationMode );
|
||||
if ( fd < 0 ) {
|
||||
// valgrind
|
||||
if ( errno == EINTR ) goto retry11;
|
||||
|
@ -2618,4 +2618,3 @@ bool verifyUtf8 ( char *txt ) {
|
||||
int32_t tlen = gbstrlen(txt);
|
||||
return verifyUtf8(txt,tlen);
|
||||
}
|
||||
|
||||
|
@ -236,7 +236,9 @@ int filterContent ( char *buf , int32_t n , int32_t mimeLen , char ctype , int32
|
||||
|
||||
//fprintf(stderr,"in=%s\n",in);
|
||||
|
||||
int fd = open ( in , O_CREAT | O_RDWR , S_IRWXU );
|
||||
int fd = open ( in , O_CREAT | O_RDWR ,
|
||||
getFileCreationFlags() );
|
||||
// S_IRWXU | S_IRWXG );
|
||||
if ( fd < 0 ) {
|
||||
fprintf(stderr,"gbfilter: open: %s\n",strerror(errno));
|
||||
return -1;
|
||||
|
4
main.cpp
4
main.cpp
@ -16849,7 +16849,7 @@ void dumpCachedRecs (char *coll,int32_t startFileNum,int32_t numFiles,bool inclu
|
||||
int32_t filenum = 0;
|
||||
char filename[64];
|
||||
sprintf(filename, "%s-%"INT32".ddmp", coll, filenum);
|
||||
int FD = open(filename, O_CREAT|O_WRONLY, S_IROTH);
|
||||
//int FD = open(filename, O_CREAT|O_WRONLY, S_IROTH);
|
||||
int32_t numDumped = 0;
|
||||
uint32_t bytesDumped = 0;
|
||||
loop:
|
||||
@ -17016,7 +17016,7 @@ void dumpCachedRecs (char *coll,int32_t startFileNum,int32_t numFiles,bool inclu
|
||||
filenum++;
|
||||
sprintf(filename, "%s-%"INT32".ddmp", coll, filenum);
|
||||
close(FD);
|
||||
FD = open(filename, O_CREAT|O_WRONLY, S_IROTH);
|
||||
//FD = open(filename, O_CREAT|O_WRONLY, S_IROTH);
|
||||
bytesDumped = 0;
|
||||
fprintf(stderr, "Started new file: %s. starts at docId: %"INT64".\n",filename, lastDocId);
|
||||
}
|
||||
|
7
qa.cpp
7
qa.cpp
@ -249,9 +249,10 @@ void makeQADir ( ) {
|
||||
snprintf(dir,1000,"%sqa",g_hostdb.m_dir);
|
||||
log("mkdir mkdir %s",dir);
|
||||
int32_t status = ::mkdir ( dir ,
|
||||
S_IRUSR | S_IWUSR | S_IXUSR |
|
||||
S_IRGRP | S_IWGRP | S_IXGRP |
|
||||
S_IROTH | S_IXOTH );
|
||||
getFileCreationFlags() );
|
||||
// S_IRUSR | S_IWUSR | S_IXUSR |
|
||||
// S_IRGRP | S_IWGRP | S_IXGRP |
|
||||
// S_IROTH | S_IXOTH );
|
||||
if ( status == -1 && errno != EEXIST && errno )
|
||||
log("qa: Failed to make directory %s: %s.",
|
||||
dir,mstrerror(errno));
|
||||
|
Reference in New Issue
Block a user