[Plug] repositories debian
ithilgore
advent.cloud.strife at gmail.com
Mon Dec 15 14:25:29 EET 2008
Michael Iatrou wrote:
> When the date was Monday 15 December 2008, Vasileios Georgitzikis wrote:
>
>>>> 2008/12/15 ithilgore <advent.cloud.strife at gmail.com
>>> Κανένας server δεν είναι σταθερός, μέχρι αποδείξεως του αντιθέτου.
>>> Και δεν ξέρω καμία αξιόπιστη απόδειξη πέραν καθαρά πρακτικίστικων
>>> και εμπειρικών τρόπων που μετράνε το ratio uptime/downtime. Απλά
>>> υπάρχουν περισσότερο ή λιγότερο σταθεροί.
>>>
>>> Όσο για το netselect/netselect-apt εκτός από τον αναξιόπιστο (για
>>> τις μέρες μας) τρόπο να βρίσκει τον καταλληλότερο server, ο κώδικας
>>> του:
>>>
>>> 1) κάνει unsigned-signed comparisons
>>>
>>> 2) έχει unused variables
>>>
>>> 3) χρησιμοποιεί για την κατασκευή πακέτων (με raw sockets btw)
>>> λανθασμένα types για τα fields του IP header. Για παράδειγμα το ttl
>>> στην static void send_probe(int seq, int ttl, OPacket *op, HostData
>>> *host) είναι ορισμένο ως int, ενώ το ttl κανονικά πρέπει να είναι
>>> uint8_t ή u_char.
>>>
>>> 4) Υπάρχει incosistency μεταξύ των types.
>>>
>>> typedef struct
>>> {
>>> struct ip ip;
>>> struct udphdr udp;
>>> u_char seq; /* sequence number of this packet */
>>> u_char ttl; /* ttl packet left with */
>>> struct timeval tv; /* time packet left */
>>> } OPacket;
>>>
>>> και αργότερα:
>>>
>>> static void send_probe(int seq, int ttl, OPacket *op, HostData *host)
>>> {
>>> struct ip *ip = &op->ip;
>>> struct udphdr *up = &op->udp;
>>> struct timezone tz;
>>> int i;
>>>
>>> op->ip.ip_dst = host->addr.sin_addr;
>>> op->seq = seq;
>>> op->ttl = ttl;
>>> ...
>>>
>>> Result: truncation στο seq και στο ttl.
>
>> Poli oraia, FIX IT.
>
> Χρησιμοποιεί Arch, τι του λες τώρα…
>
Χρησιμοποιώ *και* Arch.
--
ithilgore
sock-raw.homeunix.org
More information about the Plug
mailing list