- 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.
andremacareno 03.11.2010 23:01 # 0
greyspy 03.11.2010 23:30 # 0
absolut 03.11.2010 23:33 # +2
Хорошо шифруют
nil 03.11.2010 23:52 # 0
Спрашиваю из пустого любопытства, потому что все-таки почти 10 лет с криптухой провел:)
greyspy 04.11.2010 00:07 # 0
Производство штучное. Таких девайсов в природе два (один запасной). До реальной эксплуатации, по всей видимости, это поделье не дойдет, что собственно и к лучшему :)
nil 04.11.2010 00:12 # 0
Анонимус 04.11.2010 04:05 # −1
писать вообще ничо не надо
bugmenot 04.11.2010 09:47 # 0
Анонимус 04.11.2010 15:50 # +3
bugmenot 05.11.2010 19:48 # 0
> получать файлы по http
samba же!
> шифровать каким-нить 3DES
устарело
Анонимус 06.11.2010 01:57 # 0
SMB/CIFS -- очень плохой протокол. Говно.
Samba -- болезное дитя реверс-инжениринга (хотя и протокол уже открыт -- но гены, гены). Говно в квадрате.
>>устарело
уже сломали? Ребята на этой коробочке сделали что-то более криптостойкое?
bugmenot 06.11.2010 05:28 # 0
3DES морально устарел и медленно работает
...The AES [AES], formerly known as Rijndael, was chosen...
Анонимус 06.11.2010 13:32 # −1
по HTTP POST прекрасно передаются файлы. На серверной стороне может быть модуль апача писанный на сях.
Про аес -- ок. защитано
bugmenot 06.11.2010 14:58 # −1
ORLY? Если проектируем автомобить, то получается ИЖ, если сторадж - то рапида :D
> модуль апача писанный на сях
вот, уже вырисовывается, где можно применить запощенный сниппет :D
Анонимус 06.11.2010 15:17 # −1
думаете свой протокол писать приятнее?
bugmenot 06.11.2010 15:42 # −1
Анонимус 07.11.2010 03:23 # 0
на самом деле я имел ввиду что:
1) для HTTP уже всё есть
2) он проходит через все прокси.
потому его и надо юзать) прежде чем говорить что он тормозной -- надо узнать требования по производительности. А то будете как тот товарищ который printf не использует в веб приложениях, потому что медленно
bugmenot 07.11.2010 15:19 # 0
если ходит через прокси, то шифровать уже не надо
nil 06.11.2010 14:51 # 0
bugmenot 06.11.2010 15:46 # 0
nolka4 04.11.2010 08:10 # +2
absolut 04.11.2010 09:22 # 0
nolka4 04.11.2010 11:42 # +3
absolut 07.11.2010 12:37 # 0
nolka4 07.11.2010 14:36 # −2
я это к тому, что UDP быстрее TCP, потому что отправителю пофигу, долетели покеты до получателя или нет, он их в сокет плюет просто, и все...
eth0 07.11.2010 19:12 # 0
da4ever 04.11.2010 18:17 # +2
а вообще на uTorrent посмотрите. работает себе по uTP, который сверху UDP, и вроде даже все в порядке. только провайдеры кирпичи откладывают.
bugmenot 05.11.2010 21:04 # +1
> провайдеры кирпичи откладывают
спасибо, посмеялся, μ-срач великолепен, комстаровский говнотрекер извиваясь от баттхёрта банит пользователей uTorrent 2.x, пионерские маршрутизаторы из писюков с линупсом и iptables нагибаются, слышны крики "душить в зародыше!!!11"
da4ever 05.11.2010 21:21 # +1
потрясающие маршрутизаторы, не режущие и не считающие udp
жалобы несправедливо забаненных пользоавателей
яростные высеры админов разного маштаба
вот только это Дѣла давно минувшихъ дней, педанья старины глубокой.
bugmenot 06.11.2010 00:28 # +1
bugmenot 06.11.2010 00:39 # 0
Анонимус 06.11.2010 01:58 # 0
bugmenot 06.11.2010 02:14 # 0
Анонимус 06.11.2010 02:53 # 0
bugmenot 06.11.2010 05:02 # 0
absolut 08.11.2010 01:22 # 0
Анонимус 08.11.2010 01:30 # 0
речь не о connect из берклевских сокетов (или winsock)
речь о CONNECT методе HTTP proxy
Анонимус 06.11.2010 02:00 # 0
и даже выложил конфиг для убунты?
иначе откуда школоташные админы (коих over 80%) узнали как работать с udp?
andremacareno 04.11.2010 00:14 # 0
Oleg_quadro 04.11.2010 00:16 # +2
это, видимо, "труЪ".
istem 04.11.2010 15:56 # 0
Oleg_quadro 04.11.2010 17:16 # 0
nil 04.11.2010 17:50 # +1
istem 04.11.2010 19:14 # +1
//проверка строки на допустимые символы '0'-'9' и '.'
//проверка числа в диапазоне 01-31
//проверка точки после числа
//проверка месяца в диапазоне 01-12
//проверка точки после месяца
//проверка года в диапазоне 00-99
Oleg_quadro 04.11.2010 20:35 # +3