Add tainted checking to iscsi_lunid
- So we do not have to change the /usr/bin/pvedaemon a small fix to
check the $item->{'iscsi_target'} varaible from the API call is needed.
This closes issue #3.
			
			
This commit is contained in:
		
							parent
							
								
									1943a454a2
								
							
						
					
					
						commit
						23990fc008
					
				|  | @ -19,11 +19,6 @@ Please be aware that this enhancment uses the FreeNAS APIs and NOT the ssh/scp l | |||
|     cp perl5/PVE/Storage/LunCmd/FreeNAS.pm /usr/share/perl5/PVE/Storage/LunCmd/FreeNAS.pm | ||||
|     ``` | ||||
| 
 | ||||
| 1. Remove the `-T` taint directive from `/usr/bin/pvedaemon`. Not sure why this is needed. I need to do some research on this PERL directive option. | ||||
|     ```bash | ||||
|     sed -E -i.orig 's|^(#!/usr/bin/perl) -T|\1|' /usr/bin/pvedaemon | ||||
|     ``` | ||||
| 
 | ||||
| 1. Execute the following at a console command prompt to active the above | ||||
|     ```bash | ||||
|     systemctl restart pvedaemon | ||||
|  |  | |||
|  | @ -437,7 +437,8 @@ sub freenas_list_lu { | |||
|     my $targets   = freenas_iscsi_get_target($scfg); | ||||
|     my $target_id = freenas_get_targetid($scfg); | ||||
| 
 | ||||
|     my @luns      = (); | ||||
|     my @luns        = (); | ||||
|     my $iscsi_lunid = undef; | ||||
| 
 | ||||
|     if(defined($target_id)) { | ||||
|         my $target2extents = freenas_iscsi_get_target_to_extent($scfg); | ||||
|  | @ -447,8 +448,14 @@ sub freenas_list_lu { | |||
|             if($item->{'iscsi_target'} == $target_id) { | ||||
|                 foreach my $node (@$extents) { | ||||
|                     if($node->{'id'} == $item->{'iscsi_extent'}) { | ||||
|                         $node->{'iscsi_lunid'} .= $item->{'iscsi_lunid'}; | ||||
|                         push( @luns , $node); | ||||
|                         if ($item->{'iscsi_lunid'} =~ /(\d+)/) { | ||||
|                             my $iscsi_lunid = "$1"; | ||||
|                         } else { | ||||
|                             syslog("info", "FreeNAS::API::freenas_list_lu : iscsi_lunid did not pass tainted testing"); | ||||
|                             next; | ||||
|                         } | ||||
|                         $node->{'iscsi_lunid'} .= $iscsi_lunid; | ||||
|                         push(@luns , $node); | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue