Răsfoiți Sursa

Use DisplayScreenName when sending an evil notification

According to OSCAR docs we should be sending the formatted screen name
in the evil notification snac.  Also we were incorrectly sending the
warning level of recipient instead of the sender in the sender's
TLVUserInfo block.
Josh Knight 2 ani în urmă
părinte
comite
23c1d2ea21
2 a modificat fișierele cu 5 adăugiri și 6 ștergeri
  1. 2 2
      foodgroup/icbm.go
  2. 3 4
      foodgroup/icbm_test.go

+ 2 - 2
foodgroup/icbm.go

@@ -238,8 +238,8 @@ func (s ICBMService) EvilRequest(ctx context.Context, sess *state.Session, inFra
 		notif = wire.SNAC_0x01_0x10_OServiceEvilNotification{
 		notif = wire.SNAC_0x01_0x10_OServiceEvilNotification{
 			NewEvil: recipSess.Warning(),
 			NewEvil: recipSess.Warning(),
 			TLVUserInfo: wire.TLVUserInfo{
 			TLVUserInfo: wire.TLVUserInfo{
-				ScreenName:   sess.IdentScreenName().String(),
-				WarningLevel: recipSess.Warning(),
+				ScreenName:   sess.DisplayScreenName().String(),
+				WarningLevel: sess.Warning(),
 			},
 			},
 		}
 		}
 	} else {
 	} else {

+ 3 - 4
foodgroup/icbm_test.go

@@ -419,7 +419,7 @@ func TestICBMService_EvilRequest(t *testing.T) {
 		{
 		{
 			name:                "transmit non-anonymous warning from sender to recipient",
 			name:                "transmit non-anonymous warning from sender to recipient",
 			blockedState:        state.BlockedNo,
 			blockedState:        state.BlockedNo,
-			senderSession:       newTestSession("sender-screen-name"),
+			senderSession:       newTestSession("sender-screen-name", sessOptWarning(110)),
 			recipientSession:    newTestSession("recipient-screen-name", sessOptCannedSignonTime),
 			recipientSession:    newTestSession("recipient-screen-name", sessOptCannedSignonTime),
 			recipientScreenName: state.NewIdentScreenName("recipient-screen-name"),
 			recipientScreenName: state.NewIdentScreenName("recipient-screen-name"),
 			inputSNAC: wire.SNACMessage{
 			inputSNAC: wire.SNACMessage{
@@ -440,7 +440,7 @@ func TestICBMService_EvilRequest(t *testing.T) {
 					NewEvil: evilDelta,
 					NewEvil: evilDelta,
 					TLVUserInfo: wire.TLVUserInfo{
 					TLVUserInfo: wire.TLVUserInfo{
 						ScreenName:   "sender-screen-name",
 						ScreenName:   "sender-screen-name",
-						WarningLevel: 100,
+						WarningLevel: 110,
 					},
 					},
 				},
 				},
 			},
 			},
@@ -626,10 +626,9 @@ func TestICBMService_EvilRequest(t *testing.T) {
 			//
 			//
 			// send input SNAC
 			// send input SNAC
 			//
 			//
-			senderSession := newTestSession(tc.senderSession.DisplayScreenName())
 			svc := NewICBMService(messageRelayer, feedbagManager, nil)
 			svc := NewICBMService(messageRelayer, feedbagManager, nil)
 			svc.buddyUpdateBroadcaster = buddyUpdateBroadcaster
 			svc.buddyUpdateBroadcaster = buddyUpdateBroadcaster
-			outputSNAC, err := svc.EvilRequest(nil, senderSession, tc.inputSNAC.Frame,
+			outputSNAC, err := svc.EvilRequest(nil, tc.senderSession, tc.inputSNAC.Frame,
 				tc.inputSNAC.Body.(wire.SNAC_0x04_0x08_ICBMEvilRequest))
 				tc.inputSNAC.Body.(wire.SNAC_0x04_0x08_ICBMEvilRequest))
 			assert.NoError(t, err)
 			assert.NoError(t, err)
 			assert.Equal(t, tc.expectOutput, outputSNAC)
 			assert.Equal(t, tc.expectOutput, outputSNAC)