Exemple #1
0
static int mount_FUSEfs_0( m_struct * mst )
{
	int status ;
	const char * opts ;

	process_t p = Process( ZULUCRYPTmount ) ;
	string_t st = set_mount_options( mst ) ;

	opts = _mount_options( mst->m_flags,st ) ;

	if( StringsAreEqual( mst->fs,"ntfs" ) ){
		if( StringHasComponent( opts,"ignore_case" ) ){
			ProcessSetArgumentList( p,"-n","-t","lowntfs-3g","-o",opts,mst->device,mst->m_point,ENDLIST ) ;
		}else{
			ProcessSetArgumentList( p,"-n","-t","ntfs-3g","-o",opts,mst->device,mst->m_point,ENDLIST ) ;
		}
	}else{
		ProcessSetArgumentList( p,"-t",mst->fs,"-o",opts,mst->device,mst->m_point,ENDLIST ) ;
	}

	ProcessStart( p ) ;

	status = ProcessExitStatus( p ) ;

	ProcessDelete( &p ) ;
	StringDelete( &st ) ;

	return status ;
}
Exemple #2
0
int zuluCryptCreateFileSystemInAVolume( const char * fs,const char * device_mapper )
{
	int status ;
	char * e = NULL ;
	
	process_t p = Process( ZULUCRYPTmkfs ) ;
	
	if( StringAtLeastOneMatch_1( fs,"ext2","ext3","ext4",NULL ) ){
		
		ProcessSetArgumentList( p,"-t",fs,"-m","1",device_mapper,ENDLIST ) ;
		
	}else if( StringsAreEqual( fs,"reiserfs" ) ){
		
		ProcessSetArgumentList( p,"-t",fs,"-f","-f","-q",device_mapper,ENDLIST ) ;
		
	}else if( StringsAreEqual( fs,"jfs" ) ){
		
		ProcessSetArgumentList( p,"-t",fs,"-q",device_mapper,ENDLIST ) ;
		
	}else if( StringsAreEqual( fs,"ntfs" ) ){
		
		ProcessSetArgumentList( p,"-t",fs,"-f",device_mapper,ENDLIST ) ;
		
	}else if( StringsAreEqual( fs,"xfs" ) ){
		
		ProcessSetArgumentList( p,"-t",fs,"-f",device_mapper,ENDLIST ) ;
		
	}else{
		ProcessSetArgumentList( p,"-t",fs,device_mapper,ENDLIST ) ;
		
		/*
		 * unhandled fs are processed here.They are given 60 seconds to accomplish their task
		 * and are assumed to be running in interactive more and are blocked waiting for user input
		 * when they fail to return in time and hence are killed since we cant get to them from GUI 
		 */
		
		ProcessSetOptionTimeout( p,60,SIGKILL ) ;
	}
	
	ProcessStart( p ) ;
	
	status = ProcessExitStatus( p ) ;
	
	if( status ){
		ProcessGetOutPut( p,&e,STDERROR ) ;
		if( e ){
			puts( e ) ;
			free( e ) ;
		}
	}
	
	ProcessDelete( &p ) ;
	return status ;
}
Exemple #3
0
void checkIfDeviceIsLuks( const char * device )
{
	int st ;
	process_t p = Process( zuluCryptExe ) ;
	ProcessSetArgumentList( p,"-i","-d",device,ENDLIST ) ;
	ProcessStart( p ) ;
	st = ProcessExitStatus( p ) ;
	ProcessDelete( &p ) ;
	
	if( st ){
		__print( "check if a luks volume is a luks volume: PASSED\n" ) ;
	}
}
Exemple #4
0
int ProcessWaitUntilFinished( process_t * e )
{
	int s ;

	process_t p ;

	if( e == NULL || *e == ProcessVoid ){
		return -1 ;
	}else{
		p = *e ;
		*e = ProcessVoid ;

		s = ProcessExitStatus( p ) ;

		_ProcessDelete( p ) ;

		return s ;
	}
}
Exemple #5
0
void __ProcessGetResultANDPrint( process_t p )
{	
	char * e = NULL ;
	int st ;
	
	ProcessGetOutPut( p,&e,STDOUT ) ;
	st = ProcessExitStatus( p ) ;
	
	ProcessDelete( &p ) ;
	
	if( st ){
		puts( "FAILED" ) ;
		EXIT( 1,e ) ;
	}else{
		if( e ){
			__print( e ) ;
			free( e ) ;
		}
	}
}
Exemple #6
0
void ProcessWait( process_t p )
{
	ProcessExitStatus( p ) ;
}