Оно конечно запись устарела жутко...Но может и поможет кому-нибудь:
У меня давным давно стоял сквидNT, так вот нареканий никаких не было прикрутил к нему mysql автоизацию, и просматривал из mysql не перекачал ли юзер. Единственный минус - вводить логин и пароль приходилось 2 раза при первом заходе на любой адрес. Тогда разбирать было некогда - фирма переехала, а я нашёл другую работу. Недавно устроился на похожую работу и реанимировал данный проект - так вот проблема оказалась в программе авторизации. А проблема оказалась в следующем (переписал с Delphi на Lazarus):
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[-Код_на_Lazarus'е =) -]~~~~~~~~~
program my_auth;
var
f:text;
s,Passw,auth:string;
begin
//ParamCount() - число параметров.
//ParamStr(0) - полное имя запущеной программы с путем.
//ParamStr(1 - ParamCount()) - распарсеные параметры.
assignFile(f,ParamStr(ParamCount()));
read(Passw);
//B39iJLu napoJLb b gaJLbIILe no yMoJL4aHuIO => 4To He pa3peIILeHO - 3anpeIILeHO
auth:='ERR';
//npoBep9iEm JLoruH napoJLb
reset(f);
while not(EOF(f)) do
begin
try
readln(f,s);
if not(s[1]='#') then
if (s=Passw) then
begin
auth:='OK';
break;
end;
except
closeFile(f);
exit;
end;
end;
closeFile(f);
//Отправляемая строка должна быть pAnsiChar(Pchar завершающ нулём)
writeln(PAnsiChar(auth));
end.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[-Конец кода-]~~~~~~~~~~~~~~~~~~~
В общем кто-то меня дёрнул назначить переменной auth тип PCar, т.е. auth:PChar. Когда поменял на auth:string - всё заработало: запрашивает логин пароль теперь только 1 раз.
Сам текст авторизатора был переписан с WBS-скрипт.
Кому интересно вот, где мы обсуждали примерный алгоритм скрипта: http://opennet.ru/openforum/vsluhforumID12/3839.html#14