interoperabilidade entre windows e linux

Está na berra, pá.

No último mês, tenho estado a trabalhar num projecto que envolve a interoperabilidade entre estes dois sistemas operativos, nomeadamente Windows Server/MS SQL SERVER/C#/ASP.NET e Linux/MySQL/qmail/vpopmail/Courier-IMAP.
Tem sido fácil pô-los a falar um com o outro, obviamente recorrendo a third partie’s products no Windows para o MySQL que está no Linux. É fácil escrever código C# na máquina Windows que manuseie o MySQL do servidor Linux, recorrendo a um connector da MySQL AB ou, no meu caso, a um da CollabNet e ao MDAC (gratuito) da Microsoft. Também é fácil o inverso, inserir dados numa BD do MS SQL SERVER a partir do Linux com o FreeTDS.
Há coisas mais complicadas, por exemplo o código de criação em C# do hash da password do vpopmail (penso que) é impossível de replicar a 100% em C#, por isso faço-o do lado do Linux com um script que invoco a partir de uma página em ASP.NET a partir do servidor Windows.

Por outro lado, voltei a pegar no Samba ao fim de muito tempo e como dizia o pató do anúncio, “fiquei maravilhado”. Se até há dois anos, desde a última vez que o usei estava excelente, agora it’s a breeze :)

Haverá com certeza áreas nas quais esta interoperabilidade está muito menos avançada ou não existe mesmo, mas há muita coisa por aí, normalmente graças a projectos open source, seja para Windows ou Linux.
Agora o que é necessário mesmo (para quem precisa) é interoperabilidade entre sistemas Windows :P

Bem, isto foram só umas linhas escritas à pressa às sete da manhã ainda com o cérebro meio indrominado, por isso desde já, desculpem qualquer coisinha.

citações memoráveis no cinema [7]

Do you believe in destiny ?
That even the powers of time can be altered for a single purpose ?
That the luckiest man who walks upon this earth is the one who finds True Love ?

Por Gary Oldman in Bram Stoker’s Dracula

i don’t

contos do stephen king em dvd

Anteontem, ao fazer browsing pelas prateleiras do clude de vídeo, encontrei algo que não conhecia: “Nightmares and Dreamscapes: From the Stories of Stephen King“.
Não sou propriamente um admirador do Stephen King, ou se calhar do género, mas atraiu-me a ideia e alguns actores. São oito contos filmados, distribuídos por três DVDs num total de mais de 300 minutos.
No naipe de actores, constava o William Hurt, o Tom Berenger, o William Macy, enfim, acabei por alugar.

Vi os contos todos, excepto o terceiro do primeiro DVD que estava a ser uma pessegada. A qualidade dos contos e respectiva passagem ao ecrã é variável, indo desde o muito bom ao muito mau. Para grande infelicidade minha, o primeiro conto do primeiro DVD é de longe o melhor de todos, o que me fez antever mais sete do mesmo calibre, mas tal não veio a acontecer. Sem querer ser spoiler, é o conto onde entra o William Hurt, que é a única personagem e não diz uma palavra durante a mais de uma hora que dura o conto. Mas está mesmo bestial. 5 estrelas.

Enfim, não recomendo absolutamente, mas também não desrecomendo e o episódio que citei, vale pelo resto.

momento zen [3]

eles não sabem

Tenho quase 40 anos.
Às vezes ponho-me a pensar em como era o mundo quando era jovem e como ele é com os jovens de hoje.

Eles não viram:

  • A Guerra Fria;
  • Os Telejornais abrirem todos os dias com os mais recentes picanços entre os EUA e a URSS;
  • O boicote por parte dos EUA aos Jogos Olímpicos na URSS e vice-versa;
  • O Muro de Berlim;
  • A queda do Muro de Berlim;
  • Duas Alemanhas;
  • Os alemães de Leste que morriam abatidos a sangue frio ao tentar passar o muro para Berlim Ocidental;
  • A Perestroika;
  • O desmoronamento dos regimes Comunistas dos países europeus de Leste;
  • A guerra na ex-Jugoslávia;
  • O ataque americano à Líbia;
  • O caça soviético que abateu um avião de passageiros;
  • O navio americano que abateu um avião de passageiros;
  • A guerra das Malvinas;
  • Não haver MultiBanco (para se levantar dinheiro era preciso entrar lá dentro com um cheque e ir para a fila que nunca mais acabava);
  • Não haver telemóveis;
  • Não haver Internet;
  • Não haver consolas;
  • Não haver computadores pessoais;
  • Não viram a inflação com 2 digítos;
  • Não haver máquinas fotográficas digitais;
  • Não haver DVD;
  • Não haver leitores de MP3;

Pergunta-se: Diverti-me, eu e os meus colegas e amigos ? Sim, à brava. Leváva-mos uma vida cheia.

Os meus pais e os pais das pessoas da minha idade, viram a guerra do Vietname, a do Ultramar (e não só viram como lá bateram com os costados), a crise dos mísseis de Cuba, o fiasco da Baía dos Porcos, o 25 de Abril, os Beatles, o Maio de 68. Tudo isto, claro está, com o que a censura deixava passar.

E olho para o Mundo e os jovens de hoje e vejo que passam a vida a babar-se em frente à televisão, cheios de tédio, a teclar SMSs no telemóvel mais rápido do que Mozart teclava o seu piano, a dar toques, agarrados às consolas, não lêem, sei lá.

Não sei se estou a ser bota-de-elástico, talvez sim, mas parece-me que a vida de rapaz e rapariga da minha geração foi bem mais interessante do que a dos de hoje.

sabes que estás a ficar velho

Quando os ícones da tua vida (bons ou maus, não interessa) vão passando à História.

yahoooooooo!

Just got it

o bug tem um windows vista

O bug tem um Windows Vista que faz com que copiar ficheiros por rede (mesmo estando ligados ao mesmo switch e na mesma subnet) entre este e outra máquina Windows não Vista, seja um massacre.
Ontem, ao tentar copiar um ficheiro de 17.1 MB de um 2003 para o Vista, a coisa preparava-se para demorar 5h30m (cinco horas e trinta minutos). E estava a sério, ao fim de uma hora ainda só estava um pedaçinho copiado.

Não pode ser, pensei. Então cancelei, esgravatei e encontrei a solução.

Executar o command prompt como Administrator:

Verificar o estado do TCP Auto-Tuning com o comando:

netsh interface tcp show global

Desactivar o TCP Auto-tuning com o comando:

netsh interface tcp set global autotuning=disabled

Reiniciar o computador (tem de ser pá, isto é Windows) e pronto, 5 segundos para fazer a cópia do ficheiro.
Curiosamente (ou talvez não), não é preciso fazer isto para a coisa bombar como deve ser se transferirmos ficheiros a partir de um servidor Samba.
Acho que a Microsoft nem interoperabilidade entre os seus próprios sistemas tem :P

PS. Não, não me converti ao Vista, mas tenho que sou obrigado a usá-lo e para tornar as coisas menos dolorosas, são necessárias marteladas destas.
E vou partilhando aqui para quem possa servir.

sporting [3]

Se até um relógio parado acerta nas horas duas vezes por dia, porque não podia o Purovic acertar uma vez na baliza ?

einstein [2]

o thunderbird ainda não morreu

Acabou de me actualizar para a 2.0.0.12

uma foto estranha e uma música [10]

The Playboy Mansion (U2)

última hora :: microsoft multada

Acabei de ouvir na rádio que a UE multou a Microsoft em 877 milhões de euros por causa de não terem cumprido com as exigências necessárias.
É a maior multa a uma empresa da História.

momento zen [2]

daniel day-lewis

Está muito bem entregue o Oscar, já não se fazem actores como este.
E vão dois para melhor actor principal (o outro foi em My Left Foot) e 4 nomeações.

leitores de mp3, ipod e outros e gadgets

Eu sou um gajo que não gosta nada de gadgets cheios de florzinhas.
Como exemplo, tenho um telemóvel daqueles que só faz e recebe chamadas e mensagens escritas. E quando der o berro, nem que tenha que calcorrear o país a pé, hei-de encontrar outro assim para o substituir (eu sei, é difícil). Não gosto de telemóveis com Internet, máquina fotográfica, câmera de vídeo, leitor de mp3 e sei lá que mais.
Também não sei programar um gravador de vídeo, sintonizar o rádio do carro, saber o que são todos aqueles botões do comando do leitor de DVD e outras coisas que as pessoas nos pedem insistentemente para lhes fazermos o favorzinho, porque pensam que como somos informáticos, temos que saber tudo isso.

Ora a conversa era sobre leitores de mp3. Eu fico um bocado estupefacto com todo o bruá à volta do iPod. Para que raio havia eu de querer uma engenhoca que além de tocar mp3, também faz francesinhas (daquelas à moda do Porto, tostas mistas é pouco para a Apple) ?

Eu cá tenho um Zen V Plus da Creative Labs com 2 GB e serve-me muito bem para passar o dia no trabalho com música (também tem fotos e vídeos, mas não uso, aliás, ficam risíveis num ecrã daquele tamanho). É pequenino (do tamanho de um iShuffle), mete-se no bolso de dentro do casaco ou da camisa e pronto, nada de complicações. Também tem rádio com RDS, mas mais uma vez, não sei como programar as frequências (como já devem ter adivinhado, tenho aversão a manuais).
E sobretudo, nada de um porradão de flores que não servem para nada a não ser sacar delas numa carruagem do metro em Lisboa em hora de ponta para impressionar os patós.

Como apreciador de música que sou, aonde eu invisto é nuns bons phones auscultadores. Custam mais do que o Zen V Plus. É que os que vêm com qualquer leitor de música são bons mesmo só para putos do 9º ano.

Mas boa qualidade de som é uma coisa destas como eu tenho e com um CD original (bem, não vamos entrar na onda do regresso do vinil e dos amplificadores a válvulas). Pena terem descontinuado o formato ATRAC (3 Plus), era proprietário mas dava um jeitaço.

Agora, paixões assolapadas por coisas como um iPod… beats me.

PS. Para os Apple Boys, que julgam que o Steve é muito inovador, fiquem-se com isto. Acho que vai ser muito brevemente o meu novo leitor de música. Claro está que a qualidade em lugar das florzinhas se paga. Uns 460 USD (310 euros) chegam.

os novos ricos não-fumadores

Anda aí uma nova classe social(?) à qual chamo, à falta de melhor nome, de os “novos ricos não-fumadores”.
E qual é a o exemplar típico dessa classe ? Bem, o melhor é mostrar com um exemplo. Com certeza já todos viram uma cena destas na televisão:

– Repórter: Então como é que Sr. está a encarar esta nova lei do tabaco ?
– Muito bem, olhe: Efectivamente, eu pois, fumava 3 maços por dia. Agora pois, como não posso fumar nos cafés com a bica, nos restaurantes e no trabalho, olhe efectivamente, até me esqueço de fumar. De modo que pois, efectivamente deixei de fumar. Faz bem à saúde e à carteira.

E ri-se.

Pergunto eu a estes burgessos: se deixaram de fumar por causa de uma lei que na realidade só afectou os cafés, restaurantes e afins, por que raio é que não deixaram de fumar antes ?

o meu avô zé

A propósito deste artigo da Maria João Nogueira sobre o seu avô, lembrei-me de escrever umas linhas sobre o meu avô paterno. O meu avô Zé, aka “O Velho Setenta”. E escrevo, porque foi também um Homem notável.

O meu avô teve seis netos, três rapazes e três raparigas - eu e a minha irmã do lado do meu pai e dois rapazes e duas raparigas do lado da minha tia.

Nado e criado no Alentejo do princípio do Séc. XX, teve uma vida dura. Em jovem já era padeiro, mas o salário não dava para sustentar a família – a mulher, o filho (meu pai) e a filha (minha tia).
Resolveu emigrar para França, a salto claro. Atravessou os Pirinéus a pé. Passado tempo a minha avó seguiu-o. Ele foi para as obras, a minha avó para empregada doméstica.

Vinham todos os Natais e Verões e era uma festa quando chegavam, carregados de brinquedos.
Trazia sempre brinquedos iguaizinhos para os rapazes e diferentes mas também iguazinhos para as raparigas. Não havia discriminações para ninguém.
Tinha um orgulho infinito nos netos. Eu acho que gostava mais deles do que da mulher ou dos próprios filhos.

Apesar das agruras da vida, o meu avô não era um homem rude, bem pelo contrário. Se um neto se esquecia de lhe dar um beijo de manhã ou ao deitar, reclamava logo. Fazia-se-lhe umas festinhas na careca e saltava uma “quinhentola” da carteira.
Não sendo rude, era porém machista e sexista, como é óbvio. Rasgava-se-lhe um sorriso de orelha a orelha quando se falava nos namoricos dos netos, mas se uma neta ia à rua com uma saia mais curta ou um decote um nadinha descaído, começava logo a remoer entre dentes.

Não tinha preferidos, gostava de todos por igual, mas o mais novo – o Bernardo – que já veio muito depois dos outros gozava de um lugarzinho especial no coração dele. Nunca confessado, claro.

Voltado de França, montou uma fábrica de pinhão em Alcácer do Sal, a sua terra. Nunca gramou os empresários portugueses: “Em França, comecei como servente de pedreiro e cheguei a encarregado de estaleiro, aqui um gajo não consegue ir a lado nenhum”, dizia.
Comprou também uma casa, a casa na qual passei todos os Natais da minha infância e adolescência. No final de cada noite de Natal, era certinho como um motor Rabor: O meu avô, com uma pinguinha pequenina a mais punha-se a cantar cantigas alentejanas.

Quando me casei, foi um orgulho. Conheceu a minha mulher algum tempo antes e foi amor à primeira vista. E uma festa quando veio a Aveiro ao meu casamento.
Infelizmente, fui o único dos netos que viria a ver casar. Um cancro no estômago levou-o nesse mesmo ano com um sofrimento horrível perto do final.

Também tenho imensa pena que ele não tenha conhecido o meu filho. O neto varão (eu), o único a poder dar continuidade ao nome Gamito, teve um filho rapaz. Como ele teria ficado inchado de orgulho. E também teria dos filhos dos meus primos por igual, claro. Ele gostava era de ter a casa cheia com a família.
Aposto que se tivesse podido conviver com os bisnetos, teria tido tudo o que quis da vida.

Tenho saudades tuas avô, mas quem sabe, um dia nos voltaremos a encontrar num lugar e tempo melhor do que estes.

PS. Tenho pena de não ter conhecido o meu avô materno, morreu antes de eu nascer e que também foi um Homem notável, de quem herdei o segundo nome – Augusto. Pelas fotografias, acho que sou parecido com ele.

uma para totós

Queres mandar um ficheiro .exe do Windows pelo Gmail ?
Nããã, ele não deixa enviar emails com esses anexos. “Estou lixado”, pensas, mas como és esperto, repensas: “Vou ‘zipá-lo’ que assim engano o Gmail”.
Tunga, ele sabe o que são ficheiros .zip e o que está lá dentro. “Estou re-lixado”, repensas, enquanto dizes mal da tua vida.

Agora, the million dollar tip: em vez de comprimires para .zip, comprime para .bz2 que é um formato usado no UNIX que já passa pelo Gmail.
Para comprimires neste formato em Windows, usa o Izarc.

Não tem de quê.

uma foto estranha e uma música [9]

As Baleias (Roberto Carlos)

dica para o vista, *sigh*

Agora que sou obrigado a gramar o Vista no meu portátil do trabalho, tenho que ver se escarafuncho o bicho para tentar amenizar a coisa.
Um dos aspectos mais irritantes do Vista (se não o mais), é estar sempre a pedir autorização para correr programas, etc.:

É fácil vermo-nos livres disso. No Control Panel, clicamos em User Accounts e em “Turn User Account Control (UAC) on or off”. Reinicamos o computador.
Depois de termos feito isto, aparece um ícone assustador com uma cruz vermelha na Taskbar:

Para nos vermos livres disto, voltamos ao Control Center, desta vez a Security Center e escolhemos “Don’t notify me and don’t display the icon (not recommended)” como na figura:

E pronto, poupamos umas centenas de clicks por dia. Uff!!!

one in english for the lady

Looks like someone had a close encounter of the third degree with the man behind the mask.
Sorry, with the UNIX behind the Mac.

And as per definition of “close encounter of the third degree”, it was clumsy enough :P

baú de memórias de há 20 anos [3]

o google anda armado aos cucos

Há pouco, ao pesquisar no Google pelo site do DVD Decrypter, encontro, clico e aparece:

Olhando melhor para a pesquisa do Google, vejo:

“This site may harm your computer”

Tive que fazer Copy & Paste do link (a verde) para ir ao site.
Muito bem, sim senhor, Sr. Google. Com que então um site que tem um software para desencriptar DVDs pode danificar-me o computador.

Obrigadinho pela informação, pá. Sabes mais que os chitas.

windows vista sp1

Devo dizer que o Windows Vista com o SP1 final (yeah, já o tenho :), está muito estável e sem problemas.

Já agora uma dica. Para activar o utilizador Administrator, corram como Administrator o command prompt e digitem:

net user administrator /active:yes

ou se o Windows for português:

net user administrador /active:yes

 

plugin

O plugin que eu escrevi para o WordPress, teve em 9 dias 65 downloads.
Nem sei se é bom se é mau, mas atendendo a que o sistema de releases esteve avariado uns dias e não o anunciei em lado nenhum a não ser aqui, talvez não seja mau de todo.

Tem um pequeno bug, a ver se tenho um bocadinho de tempo amanhã para o corrigir.

Update: já está corrigido, ver CHANGELOG.

einstein [1]

oops…

Alguém meteu os pés.

e agora para algo completamente rush

Ando aqui de volta do Linux + qmail MySQL + WIndows + MS SQL SERVER + IIS + ASP.NET
A ideia é a partir de uma página em Windows, ASP.NET e IIS, criar (e apagar, etc.) contas de email num servidor Linux a correr qmail.

Já está quase tudo montado, embora a granel (a versão final não vos mostro :P)

  • No servidor Linux, instala-se o qmail + vpopmail com autenticação por MySQL e Courier-IMAP com autenticação por vpopmail. Fica criada a seguinte tabela:mysql> select * from vpopmail;
    pw_name | pw_domain | pw_passwd | pw_uid | pw_gid | pw_gecos | pw_dir | pw_shell |
    (...)
  • Agora no nosso desktop onde temos o Visual Studio, instalamos o MySQL .NET da CoreLab (150 USD) e no servidor, o Microsoft Data Access Components (MDAC) ≥ 2.6 e o .NET Framework ≥ 2.0. Isto permite-nos em qualquer das linguagens aceder directamente a uma base de dados MySQL em ASP.NET
    No Visual Studio ficamos com novas ferramentas:

  • Agora o código em C#, muita tosco e sem segurança, mas que dá para testar:
    protected void tButton_Click(object sender, EventArgs e)
    {
    // Ligar ao MS SQL SERVER do servidor Windows
    SqlConnection MyConnection = new SqlConnection("Server=192.168.1.31;" + "DataBase=vpopmail;" + "User ID=sa;" + "Password=segredo;");
    try
    {
    MyConnection.Open();
    SqlCommand cmd = new SqlCommand("INSERT INTO vpopmail (pw_name, pw_domain) VALUES ('" + tName.Text + "', 'foobar.lan')", MyConnection);
    cmd.ExecuteNonQuery();
    }catch (Exception MyException)
    {
    Response.Write("Connection Error: SQL code: " + MyException.Message);
    }
    MyConnection.Close();
    InsertRow();
    }
    public void InsertRow()
    {
    string myConnectionString;
    myConnectionString = "";
    if (myConnectionString == "")
    {
    myConnectionString = "User Id=vpopmail;Host=192.168.1.4;Database=vpopmail;Password=segredo";
    }
    // Ligar ao MySQL do servidor Linux
    MySqlConnection myConn = new MySqlConnection(myConnectionString);
    string myInsertQuery = "INSERT INTO vpopmail(pw_name, pw_domain, pw_passwd, pw_gecos, pw_shell, pw_clear_passwd) Values('" + tName.Text + "', 'foobar.lan'), '" + tName.Text + "', '1048576000')";
    MySqlCommand myCommand = new MySqlCommand(myInsertQuery);
    myCommand.Connection = myConn;
    myConn.Open();
    try
    {
    myCommand.ExecuteNonQuery();
    }
    catch (Exception MyException)
    {
    Response.Write("Connection Error: MySQL code: " + MyException.Message);
    }
    myConn.Close();
    }
  • Com isto, fica inserido no MS SQL SERVER o username e o domínio e no MySQL do Linux é preenchida a tabela vpopmail. Por exemplo, se inserirmos no formulário de registo o username manel e a password 123qwe, ficamos com:mysql> select * from vpopmail where pw_name='manel';
    +---------+-----------+-----------+--------+--------+----------+--------+----------+
    | pw_name | pw_domain | pw_passwd | pw_uid | pw_gid | pw_gecos | pw_dir | pw_shell | +---------+-----------+-----------+--------+--------+----------+--------+----------+
    | manel | foobar.lan | | 0 | 0 | manel | | NOQUOTA | | | | |---------+-----------+-----------+--------+--------+----------+--------+----------+
    1 row in set (0.00 sec)
  • Aqui há gato, dirá o leitor. Onde está a password e o directório dos emails ? A password não está no MySQL e o directório do manel não existe:

    $ pwd
    /home/vpopmail/domains/foobar.lan

    $ ll
    total 6
    drwx—— 3 vpopmail vchkpw 4096 Feb 18 21:10 augusto
    drwx—— 3 vpopmail vchkpw 4096 Feb 12 08:04 gamito
    drwx—— 3 vpopmail vchkpw 4096 Feb 18 18:41 jac
    drwx—— 3 vpopmail vchkpw 4096 Feb 12 05:39 mario
    drwx—— 3 vpopmail vchkpw 4096 Feb 18 18:22 mariogamito
    drwx—— 3 vpopmail vchkpw 4096 Feb 11 09:34 postmaster

    Calma, o vpopmail está configurado para uma vez tendo, no mínimo, o username e o domínio no MySQL, quando o utilizador aceder a primeira vez ao email, é criado o directório e fica com a password que der no login. Vamos enviar-lhe uma mensagem e depois lê-la:

    $ telnet mail.foobar.lan 25
    Trying 192.168.1.4…
    Connected to mail.foobar.lan (192.168.1.4).
    Escape character is ‘^]’.
    220 mail.foobar.lan ESMTP
    EHLO mail.foobar.lan
    250-mail.foobar.lan
    250-PIPELINING
    250 8BITMIME
    MAIL FROM: root@foobar.lan
    250 ok
    RCPT TO: manel@foobar.lan
    250 ok
    DATA
    354 go ahead
    Ola Manel
    .
    250 ok 1203373765 qp 23380
    quit
    221 mail.foobar.lan
    Connection closed by foreign host.

    Agora, o Manel vai lê-la:

    $ telnet mail.foobar.lan 110
    Trying 192.168.1.4…
    Connected to mail.foobar.lan (192.168.1.4).
    Escape character is ‘^]’.
    +OK <23395.1203373858@mail.foobar.lan>
    user manel@foobar.lan
    +OK
    pass segredo
    +OK
    list
    +OK
    1 818
    .
    retr 1
    +OK
    Return-Path:
    Delivered-To: manel@foobar.lan
    Received: (qmail 20501 invoked by uid 510); 18 Feb 2008 22:33:19 -0000
    Received: from 192.168.1.31 by cruzador (envelope-from , uid 0) with qmail-scanner-2.01
    (f-prot: 4.6.7/3.16.15. spamassassin: 3.2.3.
    Clear:RC:1(192.168.1.31):.
    Processed in 0.014554 secs); 18 Feb 2008 22:33:19 -0000
    Received: from unknown (HELO ?192.168.1.31?) (192.168.1.31)
    by 0 with SMTP; 18 Feb 2008 22:33:18 -0000
    Message-ID: <47B153CB.5070301@foobar.lan>
    Date: Tue, 18 Feb 2008 22:33:39 +0000
    To: manel@foobar.lan
    Content-Type: text/plain; charset=ISO-8859-1; format=flowed
    Content-Transfer-Encoding: 7bit

    Ola Manel
    .
    quit
    +OK
    Connection closed by foreign host.

    É necessário chamar código em PHP a partir do MySQL do servidor Linux para fazer o hash da password:

    <?php
    function randltr() {
    $retval = 'a';
    $rand = rand() % 64;
    if ($rand < 26) $retval = $rand + 'a';
    if ($rand > 25) $retval = $rand - 26 + 'A';
    if ($rand > 51) $retval = $rand - 52 + '0';
    if ($rand == 62) $retval = ';';
    if ($rand == 63) $retval = '.';
    return($retval);
    }
    function mkpasswd3(&$clearpass, &$crypted) {
    srand ((double)microtime()*1000000);
    $salt = '$1$';
    for ($i = 0; $i < 5; $i++) $salt .= randltr();
    $salt .= '0';
    $crypted = crypt($clearpass, $salt);
    if (strlen($crypted) > 0) return(true);
    return(false);
    }
    ?>
    // Obter a password:
    <?php
    $clearpass = 'testtest'
    $crypted = '';
    if (mkpasswd3($clearpass, $crypted)) printf("%s -> %s\n", $clearpass, $crypted);
    else echo("Ohoh");
    ?>

    Vejamos de novo a base de dados e o filesystem:mysql> select * from vpopmail where pw_name='manel';
    +---------+-----------+-----------+--------+--------+----------+--------+
    | pw_name | pw_domain | pw_passwd | pw_uid | pw_gid | pw_gecos | pw_dir | pw_shell |
    +---------+-----------+-----------+--------+--------+----------+--------+
    | manel | foobar.lan |$1$r0vwJd43$C5hLXh8oGxfHIoQyinjOx/ | 0 | 0 | manel | /home/vpopmail/(...)new| NOQUOTA | |
    +---------+-----------+-----------+--------+--------+----------+--------+ 1 row in set (0.00 sec)

    Agora, o file system:

    $ pwd
    /home/vpopmail/domains/foobar.lan/gamito/Maildir/new

    $ ls
    1202803579.20504.cruzador

    Já está :)

Claro que isto ainda está tudo às três pancadas só para testes, mas já dá para terem uma ideia.

« artigos mais recentes       artigos anteriores »