Sanjay,

Sanjay Nadkarni wrote:
> ...
>>>
>>> auto_parse.c:
>>>    193 and others:
>>>      if p is NULL, wouldn't this be an error.  If so it will not be 
>>> caught.  Similar issues with other parsed values.
>> Errors could occur in auto_parse_manifest.c during tag parsing that 
>> would be ignored.  However, these errors would be very unlikely, 
>> since they would involve a basic breakdown in the embedded Python 
>> interpreter, which has already been invoked to validate the 
>> manifest.   Since fixing this would involve many changes in three 
>> different modules, and since this was not introduced by iSCSI, I 
>> would prefer to file a bug on this and handle it later at a more 
>> appropriate priority.
>
> Sorry for not being clear.  There are 2 issues here:
>
> 1. If you truly believe that p != NULL then why not change them to an 
> assert.
p == NULL when there is no value for the tag in the manifest (as well as 
the Python interpreter errors describe just above). Remember that 
assert() only has an effect in a debug build.  The Python errors in 
auto_parse_manifest.c could have assert()s so that these failures would 
cause assertion failures in a debug build.  Would that suffice?
> 2.  Sorry for not being clear.  I was really asking where is the 
> sematic parsing occurring ?
The only semantic parsing with these new values is in 
td_iscsi.c:parse_lun_num(), and even that doesn't report parsing 
problems explicitly.  Parameters that could benefit from some semantic 
validation are: IP address, LUN.  port could be checked for absurd values.
>  
>>>
>>>
>>> auto_td.c:
>>>        482:  Just to be sure..when  "if" statement  fails, 
>>> diskiscsiname and diskiscsiip are both either                 
>>> defined or undefined.  A comment to that effect would be useful.
>>>        492: I would have thought that rootpath[MAXNAMELEN]  would be 
>>> sufficient (i.e. 256)                 instead of MAXPATHLEN which is 
>>> 1024.
>> According to RFC 3720, the iSCSI name itself can be up to 223 bytes.  
>> Add to that the maximum length of the IP address, port number, 
>> protocol, and LUN, plus the "iscsi:" and separator characters and 
>> this is over 256 bytes.
> Okay
>>>
>>>        539:  strncmp(rootpath, "iscsi:", strlen("iscsi:"))  would be 
>>> preferable.
>>>
> ???
What's the problem here?  The requested change on 539 was made in the 
source and appears in the webrev.

Thank you,
William

Reply via email to