/*
Copyright 2000, 2001, 2002, 2003, 2004, 2005 Dataprev - Empresa de Tecnologia e Informações da Previdência Social, Brasil
Este arquivo é parte do programa CACIC - Configurador Automático e Coletor de Informações Computacionais
O CACIC é um software livre; você pode redistribui-lo e/ou modifica-lo dentro dos termos da Licença Pública Geral GNU como
publicada pela Fundação do Software Livre (FSF); na versão 2 da Licença, ou (na sua opnião) qualquer versão.
Este programa é distribuido na esperança que possa ser util, mas SEM NENHUMA GARANTIA; sem uma garantia implicita de ADEQUAÇÂO a qualquer
MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU para maiores detalhes.
Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título "LICENCA.txt", junto com este programa, se não, escreva para a Fundação do Software
Livre(FSF) Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
// Definição do nível de compressão (Default = 9 => máximo)
//$v_compress_level = 9;
$v_compress_level = 0; // Mantido em 0(zero) para desabilitar a Compressão/Decompressão
// Há necessidade de testes para Análise de Viabilidade Técnica
require_once('../include/library.php');
// Essas variáveis conterão os indicadores de criptografia e compactação
$v_cs_cipher = (trim($_POST['cs_cipher']) <> ''?trim($_POST['cs_cipher']) : '4');
$v_cs_compress = (trim($_POST['cs_compress']) <> ''?trim($_POST['cs_compress']) : '4');
$strPaddingKey = '';
// O agente PyCACIC envia o valor "padding_key" para preenchimento da palavra chave para decriptação/encriptação
// Valores específicos para trabalho com o PyCACIC - 04 de abril de 2008 - Rogério Lino - Dataprev/ES
if ($_POST['padding_key'])
{
// Valores específicos para trabalho com o PyCACIC - 04 de abril de 2008 - Rogério Lino - Dataprev/ES
$strPaddingKey = $_POST['padding_key']; // A versão inicial do agente em Python exige esse complemento na chave...
}
autentica_agente($key,$iv,$v_cs_cipher,$v_cs_compress,$strPaddingKey);
$te_node_address = DeCrypt($key,$iv,$_POST['te_node_address'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey);
$id_so_new = DeCrypt($key,$iv,$_POST['id_so'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey);
$te_so = DeCrypt($key,$iv,$_POST['te_so'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey);
$id_ip_rede = DeCrypt($key,$iv,$_POST['id_ip_rede'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey);
$te_ip = DeCrypt($key,$iv,$_POST['te_ip'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey);
$te_nome_computador = DeCrypt($key,$iv,$_POST['te_nome_computador'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey);
//$te_workgroup = DeCrypt($key,$iv,$_POST['te_workgroup'] ,$v_cs_cipher, $v_cs_compress);
$te_workgroup = DeCrypt($key,$iv,$_POST['te_dominio_windows'],$v_cs_cipher, $v_cs_compress,$strPaddingKey);
conecta_bd_cacic();
/* Todas as vezes em que é feita a recuperação das configurações por um agente, é incluído
o computador deste agente no BD, caso ainda não esteja inserido. */
if ($te_node_address <> '')
{
$arrSO = inclui_computador_caso_nao_exista( $te_node_address,
$id_so_new,
$te_so,
$id_ip_rede,
$te_ip,
$te_nome_computador,
$te_workgroup);
$v_te_workgroup = $te_workgroup;
if ($v_te_workgroup == '')
{
$v_array_te_dominio_windows = explode('\\',DeCrypt($key,$iv,$_POST['te_dominio_windows'],$v_cs_cipher, $v_cs_compress,$strPaddingKey));
$v_te_workgroup = $v_array_te_dominio_windows[0];
}
$query = "INSERT INTO historico_tcp_ip
(te_node_address,
id_so,
te_nome_computador,
dt_hr_alteracao,
te_ip,
te_mascara,
id_ip_rede,
te_gateway,
te_serv_dhcp,
te_nome_host,
te_dominio_dns,
te_dominio_windows,
te_dns_primario,
te_dns_secundario,
te_wins_primario,
te_wins_secundario,
te_workgroup,
te_origem_mac)
VALUES ('" . $te_node_address . "', '" .
$arrSO['id_so'] . "', '" .
$te_nome_computador . "',
NOW(), '" .
$te_ip . "', '" .
DeCrypt($key,$iv,$_POST['te_mascara'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey) . "', '" .
$id_ip_rede . "', '" .
DeCrypt($key,$iv,$_POST['te_gateway'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey) . "', '" .
DeCrypt($key,$iv,$_POST['te_serv_dhcp'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey) . "', '" .
DeCrypt($key,$iv,$_POST['te_nome_host'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey) . "', '" .
DeCrypt($key,$iv,$_POST['te_dominio_dns'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey) . "', '" .
$v_te_workgroup . "', '" .
DeCrypt($key,$iv,$_POST['te_dns_primario'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey) . "', '" .
DeCrypt($key,$iv,$_POST['te_dns_secundario'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey) . "', '" .
DeCrypt($key,$iv,$_POST['te_wins_primario'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey) . "', '" .
DeCrypt($key,$iv,$_POST['te_wins_secundario'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey) . "', '" .
$v_te_workgroup . "', '" .
DeCrypt($key,$iv,$_POST['te_origem_mac'],$v_cs_cipher, $v_cs_compress,$strPaddingKey) . "')";
// DeCrypt($key,$iv,$_POST['te_dominio_windows'] ,$v_cs_cipher, $v_cs_compress) . "', '" .
//GravaTESTES($query);
$result = mysql_query($query);
//echo $query;
//exit;
// O computador já existe.
// Ele é criado durante a obtenção das configurações, no script get_config.php.
$query = " UPDATE computadores
SET te_ip = '" . $te_ip . "',
te_nome_computador = '" . $te_nome_computador . "',
te_mascara = '" . DeCrypt($key,$iv,$_POST['te_mascara'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey) . "',
id_ip_rede = '" . $id_ip_rede . "',
te_gateway = '" . DeCrypt($key,$iv,$_POST['te_gateway'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey) . "',
te_serv_dhcp = '" . DeCrypt($key,$iv,$_POST['te_serv_dhcp'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey) . "',
te_nome_host = '" . DeCrypt($key,$iv,$_POST['te_nome_host'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey) . "',
te_dominio_windows = '" . $v_te_workgroup . "',
te_dominio_dns = '" . DeCrypt($key,$iv,$_POST['te_dominio_dns'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey) . "',
te_dns_primario = '" . DeCrypt($key,$iv,$_POST['te_dns_primario'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey) . "',
te_dns_secundario = '" . DeCrypt($key,$iv,$_POST['te_dns_secundario'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey) . "',
te_wins_primario = '" . DeCrypt($key,$iv,$_POST['te_wins_primario'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey) . "',
te_wins_secundario = '" . DeCrypt($key,$iv,$_POST['te_wins_secundario'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey) . "',
te_workgroup = '" . $v_te_workgroup . "',
te_origem_mac = '" . DeCrypt($key,$iv,$_POST['te_origem_mac'] ,$v_cs_cipher, $v_cs_compress,$strPaddingKey) . "'
WHERE te_node_address = '" . $te_node_address . "' and
id_so = '" . $arrSO['id_so'] . "'";
//GravaTESTES($query);
// te_dominio_windows = '" . DeCrypt($key,$iv,$_POST['te_dominio_windows'] ,$v_cs_cipher, $v_cs_compress) . "',
$result = mysql_query($query);
echo 'OK';
}
else
echo 'Chave (TE_NODE_ADDRESS + ID_SO) Inválida';
?>