Просмотр исходного кода

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 лет назад
Родитель
Сommit
23c1d2ea21
2 измененных файлов с 5 добавлено и 6 удалено
  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{
 			NewEvil: recipSess.Warning(),
 			TLVUserInfo: wire.TLVUserInfo{
-				ScreenName:   sess.IdentScreenName().String(),
-				WarningLevel: recipSess.Warning(),
+				ScreenName:   sess.DisplayScreenName().String(),
+				WarningLevel: sess.Warning(),
 			},
 		}
 	} 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",
 			blockedState:        state.BlockedNo,
-			senderSession:       newTestSession("sender-screen-name"),
+			senderSession:       newTestSession("sender-screen-name", sessOptWarning(110)),
 			recipientSession:    newTestSession("recipient-screen-name", sessOptCannedSignonTime),
 			recipientScreenName: state.NewIdentScreenName("recipient-screen-name"),
 			inputSNAC: wire.SNACMessage{
@@ -440,7 +440,7 @@ func TestICBMService_EvilRequest(t *testing.T) {
 					NewEvil: evilDelta,
 					TLVUserInfo: wire.TLVUserInfo{
 						ScreenName:   "sender-screen-name",
-						WarningLevel: 100,
+						WarningLevel: 110,
 					},
 				},
 			},
@@ -626,10 +626,9 @@ func TestICBMService_EvilRequest(t *testing.T) {
 			//
 			// send input SNAC
 			//
-			senderSession := newTestSession(tc.senderSession.DisplayScreenName())
 			svc := NewICBMService(messageRelayer, feedbagManager, nil)
 			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))
 			assert.NoError(t, err)
 			assert.Equal(t, tc.expectOutput, outputSNAC)