Слияние кода завершено, страница обновится автоматически
* Новый API: протосокеты, которые похожи на BSD-сокеты, но не требуют нижележащей многопоточной системы.
* Очень примитивная поддержка IPv6
* Новое приложение: DHCP-клиент. Веб-сервер переписан с использованием протосокетов.
* Удалена функциональность uIP без копирования данных для упрощения написания драйвера устройства uIP: исходящие пакеты теперь всегда полностью хранятся в буфере uip_buf.
* Вычисление контрольных сумм теперь является частью uip.c, но все еще возможно реализовать их в ассемблере, указав конфигурационный параметр. Код контрольных сумм теперь работает на архитектурах с выравниванием на 2 байта.
* Добавлен устойчивый таймер TCP.
* Все представления IP-адресов теперь используют новый тип данных uip_ipaddr_t для ясности.
* Обновлено поведение окна так, чтобы отправка на хост с маленьким открытым окном теперь работала лучше.
* Изменение API UDP: uip_udp_new() теперь принимает номера портов в порядке байтов сети, как функции TCP.
* Разрешено получение пакетов, когда IP-адрес не настроен, чтобы DHCP работал.
* Перемещен адрес Ethernet в основной модуль uIP из модуля ARP.
* Константы теперь явно определены с помощью #define и перемещены за пределы кода (размеры заголовков, опции TCP, поле длины заголовка TCP).
* Если uip_len меньше, чем отчет IP-заголовка, пакет отбрасывается. Если uip_len больше, чем длина, отчетная IP-заголовком, uip_len корректируется.* Перемещены определения размеров заголовков в заголовочный файл.
* Добавлен вызов uIP для опроса приложения без активации событий таймера. Удалены избыточные присваивания uip_len и uip_slen.
* Удалено предупреждение компилятора о том, что метка icmp_input определена, когда UIP_PINGADDRCONF не использовалась.
* Добавлен макрос UIP_APPDATA_SIZE, который содержит доступный размер буфера для пользовательских данных.
* Добавлен вызов uip_udp_bind().
* Перемещен код вычисления контрольных сумм в основной модуль uIP.
* Переключен на структуры (struct) для структур заголовков TCP, UDP и IP вместо typedef.
* TCP-состояния теперь имеют префикс UIP_ для избегания загрязнения пространства имен.
* Изменены объявления uip_appdatap и подобных на void * для избегания явных приведений типов.
* Исправлены ошибки
o TCP: Исправлена ошибка с старшим байтом размера окна узла.
o TCP: Исправлена ошибка, которая в некоторых случаях препятствовала одновременной передаче и приему данных TCP.
o TCP: uip_connect() не правильно вычислял возраст соединений в состоянии TIME_WAIT.
o TCP: Индекс массива uip_conns[] был за пределами допустимого диапазона при сравнении. Сравнение изменено, чтобы индекс находился в пределах допустимого диапазона. o TCP: Если удаленный хост выходит из строя и пытается восстановить старое соединение, uIP должен ответить подтверждением ACK с правильными номерами последовательности и подтверждения. На это удаленный хост должен ответить подтверждением ACK. uIP не отвечал правильным ACK. o TCP: Исправлена проверка сегмента SYNACK: теперь проверяются только релевантные флаги управления TCP, а флаги, зарезервированные для будущего расширения, отбрасываются.
o TCP: Исправлена ошибка, при которой uIP не информировал приложение о том, что соединение было прервано во время активного открытия.
o TCP: Сегмент FIN принимался даже при том, что приложение остановило входящие данные с помощью uip_stop().
o TCP: Сегмент FINACK не всегда правильно подтверждал данные.
o UDP: контрольные суммы теперь вычисляются после заполнения всех полей.
o UDP: порядок байтов в сети на последнем порту в uip_udp_new() исправлен.
o IP: ошибки memset() в коде восстановления фрагментов IP исправлены.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )