[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