- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
// процедура ввода новой даты в RTC
long __new_date()
{
date sysdate;
unsigned long str,i;
unsigned char tmpbuf[16];
// ...
nextda: __putsV("\n\rВведите новую дату: ");
__getsV(tmpbuf,10);
if(tmpbuf[0]==0) goto daok;
//проверка строки на допустимые символы '0'-'9' и '.'
for(i=0; tmpbuf[i]!=0; i++)
{ if((tmpbuf[i]>0x39 || tmpbuf[i]<0x30) && tmpbuf[i]!=0x2e) goto baddat;
}
//проверка числа в диапазоне 01-31
if(((tmpbuf[0]==0x33)&&(tmpbuf[1]>0x31)) || (tmpbuf[0]>0x33)
|| (tmpbuf[1]==0x2e) || ((tmpbuf[0]==0x30)&&(tmpbuf[1]==0x30)) ) goto baddat;
//проверка точки после числа
if((tmpbuf[2]!=0x2e) && (tmpbuf[2]!=0x0)) goto baddat;
if((tmpbuf[2]==0x0) || (tmpbuf[3]==0x00))
{ sysdate.ti_date=(tmpbuf[1]-0x30)+((tmpbuf[0]-0x30)<<4);
goto fordok; }
//проверка месяца в диапазоне 01-12
if(((tmpbuf[3]==0x31)&&(tmpbuf[4]>0x32)) || (tmpbuf[3]>0x31)
|| (tmpbuf[4]==0x2e) || ((tmpbuf[3]==0x30)&&(tmpbuf[4]==0x30)) ) goto baddat;
//проверка точки после месяца
if((tmpbuf[5]!=0x2e) && (tmpbuf[5]!=0x0)) goto baddat;
if((tmpbuf[5]==0x0) || (tmpbuf[6]==0x00))
{ sysdate.ti_date=(tmpbuf[1]-0x30)+((tmpbuf[0]-0x30)<<4);
sysdate.ti_month=(tmpbuf[4]-0x30)+((tmpbuf[3]-0x30)<<4);
goto fordok; }
//проверка года в диапазоне 00-99
if((tmpbuf[6]==0x2e) || (tmpbuf[7]==0x2e)) goto baddat;
if(tmpbuf[7]==0x00) goto baddat;
if(tmpbuf[8]==0x0)
{ sysdate.ti_date=(tmpbuf[1]-0x30)+((tmpbuf[0]-0x30)<<4);
sysdate.ti_month=(tmpbuf[4]-0x30)+((tmpbuf[3]-0x30)<<4);
sysdate.ti_year=(tmpbuf[7]-0x30)+((tmpbuf[6]-0x30)<<4);
goto fordok; }
baddat: __putsV("\n\rДата введена неверно (дд.мм.гг)");
goto nextda;
//установка новой даты
fordok:
__set_date(&sysdate);
daok:
return 0;
}
Из ПО отечественного шифродевайса. Функция получает от "оператора" время (дд.мм.гг), проверяет его на корректность и пишет в Real Time Clock.
Хорошо шифруют
Спрашиваю из пустого любопытства, потому что все-таки почти 10 лет с криптухой провел:)
Производство штучное. Таких девайсов в природе два (один запасной). До реальной эксплуатации, по всей видимости, это поделье не дойдет, что собственно и к лучшему :)
писать вообще ничо не надо
> получать файлы по http
samba же!
> шифровать каким-нить 3DES
устарело
SMB/CIFS -- очень плохой протокол. Говно.
Samba -- болезное дитя реверс-инжениринга (хотя и протокол уже открыт -- но гены, гены). Говно в квадрате.
>>устарело
уже сломали? Ребята на этой коробочке сделали что-то более криптостойкое?
3DES морально устарел и медленно работает
...The AES [AES], formerly known as Rijndael, was chosen...
по HTTP POST прекрасно передаются файлы. На серверной стороне может быть модуль апача писанный на сях.
Про аес -- ок. защитано
ORLY? Если проектируем автомобить, то получается ИЖ, если сторадж - то рапида :D
> модуль апача писанный на сях
вот, уже вырисовывается, где можно применить запощенный сниппет :D
думаете свой протокол писать приятнее?
на самом деле я имел ввиду что:
1) для HTTP уже всё есть
2) он проходит через все прокси.
потому его и надо юзать) прежде чем говорить что он тормозной -- надо узнать требования по производительности. А то будете как тот товарищ который printf не использует в веб приложениях, потому что медленно
если ходит через прокси, то шифровать уже не надо
я это к тому, что UDP быстрее TCP, потому что отправителю пофигу, долетели покеты до получателя или нет, он их в сокет плюет просто, и все...
а вообще на uTorrent посмотрите. работает себе по uTP, который сверху UDP, и вроде даже все в порядке. только провайдеры кирпичи откладывают.
> провайдеры кирпичи откладывают
спасибо, посмеялся, μ-срач великолепен, комстаровский говнотрекер извиваясь от баттхёрта банит пользователей uTorrent 2.x, пионерские маршрутизаторы из писюков с линупсом и iptables нагибаются, слышны крики "душить в зародыше!!!11"
потрясающие маршрутизаторы, не режущие и не считающие udp
жалобы несправедливо забаненных пользоавателей
яростные высеры админов разного маштаба
вот только это Дѣла давно минувшихъ дней, педанья старины глубокой.
речь не о connect из берклевских сокетов (или winsock)
речь о CONNECT методе HTTP proxy
и даже выложил конфиг для убунты?
иначе откуда школоташные админы (коих over 80%) узнали как работать с udp?
это, видимо, "труЪ".
//проверка строки на допустимые символы '0'-'9' и '.'
//проверка числа в диапазоне 01-31
//проверка точки после числа
//проверка месяца в диапазоне 01-12
//проверка точки после месяца
//проверка года в диапазоне 00-99