mboost-dp1

Microsoft Corporation

WP7-fantomdata stammer fra Yahoo!

- Via Windows Phone Secrets - , redigeret af Net_Srak , indsendt af freesoft

Efter det kom frem, at flere ejere af Windows Phone 7-telefoner (WP7) havde oplevet et unormalt stort dataforbrug, gik Microsoft ind i sagen. De bekræftede hurtigt, at der blev sendt, hvad der blev kendt som fantomdata, men ikke hvad som forårsagede det.

I mandags offentliggjorde Windows-guruen Rafael Rivera, at synderen var Yahoo!, og nu har Microsoft bekræftet det. Problemet stammer fra en mail-applikation, der kan anvendes til at tilgå Yahoo!-mail.

Rivera fandt ud af, at Yahoo!’s mailserver ikke svarer korrekt på en IMAP-kommando og derved returnerer et langt større svar end nødvendigt, helt op til 25 gange mere data.

Microsoft skriver om problemet, at de har taget kontakt til Yahoo! for at rette fejlen hurtigst muligt. Hos Yahoo! afviser man dog, at problemet ligger hos dem, men at det skyldes, Microsoft har valgt at anvende en ikke standard-metode til at tilgå mail hos Yahoo!.





Gå til bund
Gravatar #1 - Flexo82
2. feb. 2011 12:09
Microsoft anvender IMAP kommandoer til at tilgaa Yahoo's mailserver og saa siger Yahoo at Microsoft ikke anvender en standard til at tilgaa mails hos dem?!?

Det virker lidt som noget BS fra Yahoo.
Gravatar #2 - moso
2. feb. 2011 12:12
Hvem hulen bruger da også Yahoo mail? :D

Ontopic: Det virker weird at en mail app kan lave fantom-data hvis man ikke bruger den... Slamkode eller endnu et trick til at få folk til at bruge en service de ikke har brug for?
Gravatar #3 - myplacedk
2. feb. 2011 12:13
#1
Man kan godt bruge en standard forkert.
Gravatar #4 - Flexo82
2. feb. 2011 12:23
#3
Hvis du laeser kilden, saa er det Yahoo beskylder Microsoft for er ikke at tilbyde 'push' til deres mailservice paa WP7. Man har kun valgmulighederne at syncronisere data hver 15,30,60,120 minutter eller manuelt hvilket er delvist skyld i at det overhead som der er tale om.

Saa det har ikke noget at goere med den standard Microsoft benytter til at tilgaa mailserveren
Gravatar #5 - lost-viking
2. feb. 2011 12:51
debichu (2) skrev:
Hvem hulen bruger da også Yahoo mail? :D

Ontopic: Det virker weird at en mail app kan lave fantom-data hvis man ikke bruger den... Slamkode eller endnu et trick til at få folk til at bruge en service de ikke har brug for?


Det gør jeg da? jeg har brugt yahoo mail siden jeg var 14.. og jeg er 25 nu.. det var der jeg fik min første mail.. og det har fungeret upåklageligt lige siden.. og jeg har alt det plads jeg overhovedet gider bruge.. hvorfor skifte når man er tilfreds med hvad man har? gmail tror jeg ikke er et bedre alternativ og hotmail er da ihvertfald slet ikke..

OT: men hvorfor er der nogen der har deres mail program til at kontakte hele tiden? jeg beder selv mit om det når jeg lige vil tjekke min mail på min mobil.. det andet syntes jeg da er lidt tosset.. så mange vigtige mails får man da heller ikke.. :) men det er da klart en fejl begge parter skal ha rette.. for det ande holder jo ikke helt :)
Gravatar #6 - myplacedk
2. feb. 2011 12:54
Lost-Viking (5) skrev:
men hvorfor er der nogen der har deres mail program til at kontakte hele tiden?

For at få sine mails med det samme.

Lost-Viking (5) skrev:
så mange vigtige mails får man da heller ikke.. :)

Sådan er vi så forskellige. Jeg vil gerne have en diskret notification når der er en ny mail, så der ikke er noget vigtigt der ligger i dagevis til jeg kommer i tanker om at tjekke.
Gravatar #7 - DrHouseDK
2. feb. 2011 13:03
myplacedk (6) skrev:
Sådan er vi så forskellige. Jeg vil gerne have en diskret notification når der er en ny mail, så der ikke er noget vigtigt der ligger i dagevis til jeg kommer i tanker om at tjekke.


+1. Min iPhone 4 tjekker hvert kvarter, så vidt jeg husker. Der findes jo faktisk vigtige mails - specielt når viagra er på knaldtilbud!
Gravatar #8 - myplacedk
2. feb. 2011 13:18
#7
Du er tilsyneladende en tålmodig sjæl. Min Android 2.2 har push. Jeg prøvede lige, det tog 8 sekunder fra mailen fra sendt fra PC til min telefon gav en lille lyd.
Gravatar #9 - DrHouseDK
2. feb. 2011 13:23
myplacedk (8) skrev:
#7
Du er tilsyneladende en tålmodig sjæl. Min Android 2.2 har push. Jeg prøvede lige, det tog 8 sekunder fra mailen fra sendt fra PC til min telefon gav en lille lyd.


14 minutter og 52 sekunder gør ikke megen forskel i min verden. Spørg mig ikke hvorfor, men jeg har en tvangstanke om at det bruger mere strøm at have sat Push til.
Gravatar #10 - HenrikH
2. feb. 2011 13:25
#9: det kan man få piller imod... Ofte på samme sider som har Viagra på tilbud ;-)
Gravatar #11 - coday
2. feb. 2011 13:25
#9

Så vidt jeg har forstået skulle push faktisk gøre forbruget mindre..
Gravatar #12 - grok
2. feb. 2011 13:40
coday (11) skrev:
#9

Så vidt jeg har forstået skulle push faktisk gøre forbruget mindre..

Netop. Ved pull skal du have fat i serveren hvert 15, 30 whatever minut for at se om der er mail. Ved push gør din telefon intet før den bliver kontaktet af mail serveren.
Gravatar #13 - DrHouseDK
2. feb. 2011 13:48
grok (12) skrev:
Netop. Ved pull skal du have fat i serveren hvert 15, 30 whatever minut for at se om der er mail. Ved push gør din telefon intet før den bliver kontaktet af mail serveren.


Så skal den jo også være online konstant for at være klar på en forespørgsel, og det må da koste strøm?
Gravatar #14 - grok
2. feb. 2011 14:07
For mig at se er fejlen Microsofts.

FETCH 1:10 (UID FLAGS BODY.PEEK[HEADER.FIELDS (MESSAGE-ID)])


I følge RFC 3501 skal mail serveren sende alle header fields. Præcist som den gør. Hvis MS kun vil have MESSAGE-ID skal det ikke være i parantes.
BODY.PEEK[<section>]<<partial>>
The field-matching is case-insensitive but otherwise exact
Gravatar #15 - myplacedk
2. feb. 2011 14:10
puttitat (13) skrev:
Så skal den jo også være online konstant for at være klar på en forespørgsel, og det må da koste strøm?

Det er en telefon. Selvfølgelig er den altid online.

Jeg kan ikke forestille mig at den smule strøm det koster at logge på data-forbindelsen skulle have nogen betydning, i forhold til aktivt at polle med jævne mellemrum.
Gravatar #16 - ihc
2. feb. 2011 14:17
#9 skrev:
Ved push gør din telefon intet før den bliver kontaktet af mail serveren.


Nu ved jeg ikke hvordan man implementerer push i mail, men normalt laver man da bare en forespørgsel som så venter på svar. Når der så skal pushes noget, så returnerer serveren svaret. Klienten laver så en ny forespørgsel og venter igen på svar. Der vil nødvendigvis være en timeout, hvilket vil give en række kald, selvom der ikke er noget at pushe.

Så jeg tror IKKE det er rigtigt at telefonen ikke laver noget. Jeg sparer også strøm på min iPhone/iPad når jeg ændrer push til pull med 15 minutters interval, dog mod Exchange.
Gravatar #17 - arne_v
2. feb. 2011 14:18
ihc (16) skrev:
Nu ved jeg ikke hvordan man implementerer push i mail, men normalt laver man da bare en forespørgsel som så venter på svar. Når der så skal pushes noget, så returnerer serveren svaret. Klienten laver så en ny forespørgsel og venter igen på svar. Der vil nødvendigvis være en timeout, hvilket vil give en række kald, selvom der ikke er noget at pushe.


Det der er long poll ikke push.
Gravatar #18 - XorpiZ
2. feb. 2011 14:29
grok (14) skrev:
For mig at se er fejlen Microsofts.


Men burde fejlen så ikke være der ved alle IMAP-mails og ikke kun Yahoos?

http://www.howardforums.com/attachment.php?s=319e9...
Gravatar #19 - DrHouseDK
2. feb. 2011 14:29
myplacedk (15) skrev:
Det er en telefon. Selvfølgelig er den altid online.

Jeg kan ikke forestille mig at den smule strøm det koster at logge på data-forbindelsen skulle have nogen betydning, i forhold til aktivt at polle med jævne mellemrum.


Altid online, ja, men også med aktiv dataforbindelse? Det koster jo også data at oprette forbindelsen, og det er vel næppe så meget mere, but who knows. :)
Gravatar #20 - grok
2. feb. 2011 14:53
XorpiZ (18) skrev:
Men burde fejlen så ikke være der ved alle IMAP-mails og ikke kun Yahoos?


Både ja og nej. I vanlig stil forsøger mange servere at konpensere for fejl fra klienten, og der kan derfor brede sig en almindelig praksis som ikke nødvendig følger standarden. Tænk bare på at det skod html vi pludselig fik da IE/netscape krigen rasede. Når IE godt kunne fortolke et dokument så blev det pludselig anset for god html, selv om det ikke overholdte standarderne.

Netscape indførte også ikke officielle tags. Deres runde hjørner på blokke er vidst stadig ikke accepteret som officiel standard.
Gravatar #21 - kalleguld
2. feb. 2011 14:56
arne_v (17) skrev:
Det der er long poll ikke push.

Men hvordan laver man så rigtig push på en mobil? Så vidt jeg ved er min telefon bag NAT, både på GSM og WiFi.
Gravatar #22 - freesoft
2. feb. 2011 14:56
arne_v (17) skrev:
Det der er long poll ikke push.

Hvordan virker push så?

Jeg tænker, hvordan ved serveren hvor mobilen er? Hvis der ikke mere eller mindre hele tiden er en forbindelse der siger "her er jeg, noget nyt?"

Hvis beskrivelsen af push er at serveren "skubber" mails ud skal den jo igennem min firewall når den er på WiFi, og det kan den i hvert fald ikke.
Så kan da ikke være anderledes end at det er mobilen der "poller" serveren løbende.
Gravatar #23 - XorpiZ
2. feb. 2011 15:00
grok (20) skrev:
Både ja og nej. I vanlig stil forsøger mange servere at konpensere for fejl fra klienten, og der kan derfor brede sig en almindelig praksis som ikke nødvendig følger standarden.


Det er selvfølgelig rigtigt.

Det kunne være ganske interessant at se, om den fejlbehæftede besked kun gælder Yahoo, eller om den også bliver afsendt til GMail osv.
Gravatar #24 - myplacedk
2. feb. 2011 15:42
freesoft (22) skrev:
Hvordan virker push så?

Hvad Android angår:

Det er korrekt at der er en socket (TCP eller UDP), som skal holdes i live. Men det er intet i forhold til at etablere en socket med jævne mellemrum, hvor der skal logges in og tjekkes for opdateringer. (Selvfølgelig alt efter omstændighederne, der er en del variabler.)

Men dertil kommer, at en app som ikke modtager data ikke behøver at køre. Dvs. en dag hvor jeg ikke bruger email bruger min email-app hverken ram eller cpu. Kommer der så en mail en lille app blive vækket, og den laver så en notification. Åbner jeg den notification, SÅ starter mailprogrammet.

Det fungerer fordi det ikke er mail-systemet som har sin eget push-dims. Det er en generel "Cloud To Device Messaging" (C2DM)-protokol der fungerer selvstændigt. Dvs. med én push-forbindelse åben har jeg instant push til:

* Gmail (hvilket i øvrigt dækker over adskillige apps som alle har mulighed for at behandle indgående mails passende)
* Kalender
* Contacts
* Chrome to Phone
* Google Talk (chat)

Uden push skulle jeg i stedet have en dims til at tjekke mail hvert kvarter (og trykke manuelt hert minut når jeg sidder og venter på en mail), kalenderen og contacts skal også polle med jævne mellemrum, chrome to phone giver ingen mening uden push, og chat ville bruge en del strøm og netværkstrafik mens jeg bruger det aktivt (plus det ville være svært at åbne en samtale med mig)

Kort sagt: Jo mere du bruger det, jo mere strøm sparer du.

iPhone 4 har også en eller anden form for push-protokol, det skulle ikke under mig hvis det i de store linjer fungerer på samme måde.

Meeen, alt det er jo bare teori. Efter få sekunders søgen fandt jeg ikke lige noget brugbart om hvor godt det er for batteriet i praksis. Men det afhænger jo også af så meget.
Gravatar #25 - freesoft
2. feb. 2011 17:00
#24
Hvad er forskellen så på det og det #16 beskriver?
Gravatar #26 - myplacedk
2. feb. 2011 17:12
#25

A: Opret forbindelse, vent på svar, opdag at forbindelsen er forsvundet, lav en ny... Gentag for hver ting man ønsker push til.

B: Opret forbindelse, send en lille keep-alive med passende mellemrum. Kun én forbindelse til det hele.

En keep-alive er formentlig to pakker (én hver vej), hvor en timeout nok er noget med en reset-pakke, 3 pakker til three-wy-hand-shake plus et ukendt antal pakker til at logge på eller tilsvarende.

Sådan en long-pull bruges som nødløsning hvor push ikke kan bruges, fx. over HTTP. Det kan være en glimrende måde at simulere push på
Gravatar #27 - freesoft
2. feb. 2011 17:44
#26
Så forstår jeg forskellen på long pull og push.
#16 skrev:
en forespørgsel som så venter på svar.
Kan man vel opfatte på begge måder :-)

Men i min verden er der så ikke det helt store forskel på hvordan de 2 metoder virker, der skal jo alligevel laves en ny push forbindelse når mobilen skifter mellem wifi og 3g fx.

Er nok bare lidt i mod at man siger mails bliver skubbet ud i mobilen, lyder som om mobilen ikke laver noget..
Gravatar #28 - Pidgeot
2. feb. 2011 17:52
grok (14) skrev:
I følge RFC 3501 skal mail serveren sende alle header fields. Præcist som den gør. Hvis MS kun vil have MESSAGE-ID skal det ikke være i parantes.
BODY.PEEK[<section>]<<partial>>
The field-matching is case-insensitive but otherwise exact


Tag lige et kig på eksemplet lidt længere nede:

Example: C: A654 FETCH 2:4 (FLAGS BODY[HEADER.FIELDS (DATE FROM)])


Ud fra det at dømme, så er det da helt korrekt at inkludere de paranteser.
Gravatar #29 - grok
2. feb. 2011 18:33
myplacedk (24) skrev:
Det er korrekt at der er en socket (TCP eller UDP), som skal holdes i live.

Så lader du jo bare en agent lave en long pull, som så sender en notifikation til email programmet. Fra e-mail programmets side ligner det push, men rigtig push er det ikke.

Rigtig push bruger en specielt formateret besked. F.eks sms-c til at sende en notifikation, som trigger e-mail klienten til at starte op og hente mailen.
Det væsentlige er at der er ikke nogen TCP session åben. Teoretisk kunne push beskeden leveres via IP, men da ingen mobil selskaber har teknologien til at tildele hver telefon sin egen IP addresse, så tildeles IP først når data forbindelsen åbnes fra telefones side. Typisk er denne IP en RFC 1918 addresse, så den er også bag en nat gateway hvilket umulig gør rigtig push den vej.

Ud over blackberry ved jeg ikke om der er andre der bruger push.
Gravatar #30 - LordMike
2. feb. 2011 20:46
#29
IPv6 bliver awesome :)
Gravatar #31 - grok
2. feb. 2011 21:36
Pidgeot (28) skrev:


Tag lige et kig på eksemplet lidt længere nede:

Example: C: A654 FETCH 2:4 (FLAGS BODY[HEADER.FIELDS (DATE FROM)])


Ud fra det at dømme, så er det da helt korrekt at inkludere de paranteser.

Ja, men her requester du 2 felter. DATE og FROM. Jeg har ikke læst hele RFC'en igennem, så jeg kan ikke sige om det er derfor de har sat parantes omkring i det eksempel.

Gravatar #32 - arne_v
3. feb. 2011 01:38
grok (20) skrev:
I vanlig stil forsøger mange servere at konpensere for fejl fra klienten, og der kan derfor brede sig en almindelig praksis som ikke nødvendig følger standarden.


Det er standard IETF anbefaling at:

"Be liberal in what you accept, and conservative in what you send"
Gravatar #33 - arne_v
3. feb. 2011 01:40
kalleguld (21) skrev:
Men hvordan laver man så rigtig push på en mobil?


freesoft (22) skrev:
Hvordan virker push så?


Min første tanke var at "push" var typisk reklame gas.

Men P-IMAP RFC 3501 er rimelig reel.

Permanent socket og kun med en heartbeat for at holde forbindelsen åben.
Gravatar #34 - arne_v
3. feb. 2011 01:48
#24

Det er ikke noget problem at pushe fra mobil selskabet til en mobil over GSM etc. - det må være hvad man bruger til SMS.

Men det er ikke det samme som at det virker fra email provider til telefon over IP.

Almindelig POP3 og IMAP4 understøtter ikke push.

Det er så hvad P-IMAP RFC 3501 extension til IMAP4 løser.

Gravatar #35 - el_barto
3. feb. 2011 07:31
Det eneste problem med Push er navnet. For det er trods alt stadig klienten der etablerer en forbindelse ind til serveren og ikke omvendt :)
Gravatar #36 - grok
3. feb. 2011 08:19
el_barto (35) skrev:
Det eneste problem med Push er navnet. For det er trods alt stadig klienten der etablerer en forbindelse ind til serveren og ikke omvendt :)

Læs lige 29 igen. Rigtig push er serveren der laver en forbindelse til klienten. F.eks via sms-c.
Det eneste den pusher er en notifikation om den har noget til klienten.
Problemet er at alt for mange ikke kan finde ud af hvad forskellen på long poll og push er.
Gravatar #37 - freesoft
3. feb. 2011 13:34
#36
grok (36) skrev:
Det eneste den pusher er en notifikation om den har noget til klienten.

Ja, som så henter emailen fra server:
grok (29) skrev:
Rigtig push bruger en specielt formateret besked. F.eks sms-c til at sende en notifikation, som trigger e-mail klienten til at starte op og hente mailen.


Så skal serveren vel også kende nummeret på mobilen?

Hvis man skal være lidt firkantet, så kan man vel ikke sige mailen bliver pushet ud?

grok (29) skrev:
Ud over blackberry ved jeg ikke om der er andre der bruger push.

Så altså ikke sådan det virker på iPhone/Android med fx Gmail?
Gravatar #38 - XorpiZ
3. feb. 2011 20:46
iOS er også ramt af en fejl med Yahoo:

http://www.withinwindows.com/2011/02/02/yahoo-your...

Om det er samme fejl kender jeg ikke nok til IMAP til at kunne se.
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login