| 
				
			 | 
			
			
				
				@@ -403,7 +403,8 @@ static int iscsi_build_login_request_strings ( struct iscsi_session *iscsi, 
			 | 
		
		
	
		
			
			| 
				403
			 | 
			
				403
			 | 
			
			
				
				 		used += ssnprintf ( data + used, len - used, "CHAP_A=5%c", 0 ); 
			 | 
		
		
	
		
			
			| 
				404
			 | 
			
				404
			 | 
			
			
				
				 	} 
			 | 
		
		
	
		
			
			| 
				405
			 | 
			
				405
			 | 
			
			
				
				 	 
			 | 
		
		
	
		
			
			| 
				406
			 | 
			
				
			 | 
			
			
				
				-	if ( iscsi->status & ISCSI_STATUS_STRINGS_CHAP_RESPONSE ) { 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				406
			 | 
			
			
				
				+	if ( ( iscsi->status & ISCSI_STATUS_STRINGS_CHAP_RESPONSE ) && 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				407
			 | 
			
			
				
				+	     iscsi->username ) { 
			 | 
		
		
	
		
			
			| 
				407
			 | 
			
				408
			 | 
			
			
				
				 		used += ssnprintf ( data + used, len - used, 
			 | 
		
		
	
		
			
			| 
				408
			 | 
			
				409
			 | 
			
			
				
				 				    "CHAP_N=%s%cCHAP_R=0x", 
			 | 
		
		
	
		
			
			| 
				409
			 | 
			
				410
			 | 
			
			
				
				 				    iscsi->username, 0 ); 
			 | 
		
		
	
	
		
			
			| 
				
			 | 
			
			
				
				@@ -572,8 +573,10 @@ static void iscsi_handle_chap_i_value ( struct iscsi_session *iscsi, 
			 | 
		
		
	
		
			
			| 
				572
			 | 
			
				573
			 | 
			
			
				
				 	 * challenge. 
			 | 
		
		
	
		
			
			| 
				573
			 | 
			
				574
			 | 
			
			
				
				 	 */ 
			 | 
		
		
	
		
			
			| 
				574
			 | 
			
				575
			 | 
			
			
				
				 	chap_set_identifier ( &iscsi->chap, identifier ); 
			 | 
		
		
	
		
			
			| 
				575
			 | 
			
				
			 | 
			
			
				
				-	chap_update ( &iscsi->chap, iscsi->password, 
			 | 
		
		
	
		
			
			| 
				576
			 | 
			
				
			 | 
			
			
				
				-		      strlen ( iscsi->password ) ); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				576
			 | 
			
			
				
				+	if ( iscsi->password ) { 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				577
			 | 
			
			
				
				+		chap_update ( &iscsi->chap, iscsi->password, 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				578
			 | 
			
			
				
				+			      strlen ( iscsi->password ) ); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				579
			 | 
			
			
				
				+	} 
			 | 
		
		
	
		
			
			| 
				577
			 | 
			
				580
			 | 
			
			
				
				 } 
			 | 
		
		
	
		
			
			| 
				578
			 | 
			
				581
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				579
			 | 
			
				582
			 | 
			
			
				
				 /** 
			 |