Projet

Général

Profil

Révision 5c3812b2 scripts/net2dip.sendtohurlevent.php

Voir les différences:

scripts/net2dip.sendtohurlevent.php
49 49
//Creation automatique du fichier de mots de passe pour les restrictions de connexion
50 50
//sur les depot apt and co
51 51
$fic_htpass        = "/tmp/htpasswd-anet";
52
$fic_htpass908     = "/tmp/htpasswd-anet908";
53
$fic_htpass1108    = "/tmp/htpasswd-anet1108";
52 54
//Avec un nom checksum pour ne pas eveiller l'attention
53 55
$dir_htpass_public = "/home/webs/www.abuledu.net/htdocs/epack/export/";
54
$fic_htpass_public = "checksum";
55
$result = system("rm -f " . $fic_htpass . " " . $dir_htpass_public . $fic_htpass_public . "&& touch " . $fic_htpass);
56
$fic_htpass_public     = "checksum";
57
$fic_htpass_public908  = "checksum-908";
58
$fic_htpass_public1108 = "checksum-1108";
59
$result = system("rm -f "
60
		 . " " . $fic_htpass
61
		 . " " . $fic_htpass908
62
		 . " " . $fic_htpass1108
63
		 . " " . $dir_htpass_public . $fic_htpass_public
64
		 . " " . $dir_htpass_public . $fic_htpass_public908
65
		 . " " . $dir_htpass_public . $fic_htpass_public1108
66
		 . "&& touch " . $fic_htpass
67
		 . "&& touch " . $fic_htpass908
68
		 . "&& touch " . $fic_htpass1108
69
		 );
70

  
71
function nettoyage($s) {
72
  $texte = str_replace(" ","",$s);
73
  $texte = str_replace("'","",$texte);
74
  $texte = str_replace('"',"",$texte);
75
  return $texte;
76
}
56 77

  
57
function make_htpass($login,$pass) {
58
  global $fic_htpass;
78
function make_htpass($fic, $login,$pass) {
59 79
  $l = $login;
60 80
  //debug
61 81
  //echo "login: $login / $pass\n";
......
68 88
    $login = trim(str_replace(".dip.abuledu.net","",$login));
69 89

  
70 90
  //Et le login en MAG et MIN because a bug ou un truc a la con qqpart dans la chaine
71
  $result = shell_exec("htpasswd -mb " . $fic_htpass . " " . trim(strtolower($login)) . " " . trim($pass) . " 2>&1");
72
  $result = shell_exec("htpasswd -mb " . $fic_htpass . " " . trim(strtoupper($login)) . " " . trim($pass) . " 2>&1");
91
  $result = shell_exec("htpasswd -mb " . $fic . " " . trim(strtolower($login)) . " " . trim(nettoyage($pass)) . " 2>&1");
92
  $result = shell_exec("htpasswd -mb " . $fic . " " . trim(strtoupper($login)) . " " . trim(nettoyage($pass)) . " 2>&1");
73 93
}
74 94

  
75

  
76 95
//Les serveurs avant 2009 ne sont pas des epacks et leur mot de passe est stocke en crypte
77 96
$query = "SELECT e.password as gnudip_pass,os_license_number as dns_alias0,os_license_id as dns_alias1 FROM glpi_computers AS c
78 97
LEFT JOIN glpi_plugin_anet_epacks AS e ON e.FK_serveur=c.ID
......
88 107
  // dns a l autre bout ...
89 108
  //  $text .= implode(";",$row) . "\n";
90 109
  $text .= trim($row[0]) . ";" . trim($row[1]) . ";" . trim($row[2]) . ";\n";
91
  make_htpass($row[1],$row[0]);
110
  make_htpass($fic_htpass, $row[1],$row[0]);
92 111
}
93 112

  
94 113
//les serveurs post ENR sont des epacks reels et leur mot de passe n'est pas crypte
......
108 127
for ( $i = 0; $i < $nb; $i++) {
109 128
  $row = $result2->fetchrow();
110 129
  $text .= implode(";",$row) . "\n";
111
  make_htpass($row[1],$row[0]);
130
  make_htpass($fic_htpass, $row[1],$row[0]);
112 131
 }
113 132

  
114 133
//Et ensuite les comptes utilisateurs pour les espaces limites uniquement
......
118 137
WHERE gup.FK_profiles = '5' OR gup.FK_profiles = '7'
119 138
GROUP BY name";
120 139
if ( DB::isError($result3 = $dbglpi->query($query3)) ) {
121
  die ("***\n$query2\n" . DB::errorMessage($result3) . "\n***\n\n");
140
  die ("***\n$query3\n" . DB::errorMessage($result3) . "\n***\n\n");
122 141
 }
123 142

  
124 143
$nb = $result3->NumRows();
......
127 146
  //le nom en minuscule, sans accents et sans espaces
128 147
  $nom = anti_speciaux($row[1],2);
129 148
  $login = trim($row[0]);
130
  make_htpass($login,$nom);
149
  make_htpass($fic_htpass, $login,$nom);
150
 }
151

  
152
//Maintenant, les personnes qui ont suivies la formation 9.08 clé "493" dans la table glpi_groups
153
$query4 = "SELECT name, realname FROM glpi_users as gu
154
LEFT JOIN glpi_users_groups as gug ON gug.FK_users=gu.ID
155
WHERE gug.FK_groups = '493' GROUP BY name";
156
if ( DB::isError($result4 = $dbglpi->query($query4)) ) {
157
  die ("***\n$query4\n" . DB::errorMessage($result4) . "\n***\n\n");
158
 }
159

  
160
$nb = $result4->NumRows();
161
for ( $i = 0; $i < $nb; $i++) {
162
  $row = $result4->fetchrow();
163
  //le nom en minuscule, sans accents et sans espaces
164
  $nom = anti_speciaux($row[1],2);
165
  $login = trim($row[0]);
166
  make_htpass($fic_htpass908, $login, $nom);
167
  //echo "$fic_htpass908 ... $login : $nom\n";
168
 }
169

  
170
//Maintenant, les personnes qui ont suivies la formation 11.08 clé "494" dans la table glpi_groups
171
$query5 = "SELECT name, realname FROM glpi_users as gu
172
LEFT JOIN glpi_users_groups as gug ON gug.FK_users=gu.ID
173
WHERE gug.FK_groups = '494' GROUP BY name";
174
if ( DB::isError($result5 = $dbglpi->query($query5)) ) {
175
  die ("***\n$query5\n" . DB::errorMessage($result5) . "\n***\n\n");
176
 }
177

  
178
$nb = $result5->NumRows();
179
for ( $i = 0; $i < $nb; $i++) {
180
  $row = $result5->fetchrow();
181
  //le nom en minuscule, sans accents et sans espaces
182
  $nom = anti_speciaux($row[1],2);
183
  $login = trim($row[0]);
184
  //echo "$fic_htpass1108 ... $login : $nom\n";
185
  make_htpass($fic_htpass1108, $login, $nom);
131 186
 }
132 187

  
188

  
133 189
/*
134 190
 *
135 191
 * EXPEDITION DES DONNEES POUR LE SERVEUR GNUDIP
......
148 204

  
149 205
$command = 'echo "'.$text.'" | '.$gpg.' -a --always-trust --batch --no-secmem-warning -s -e -u "'.$user_from.'" -r "'.$user_dyndns.'"';
150 206
$result = exec($command, $encrypted, $errorcode);
207
//print $command . "\n";
208

  
151 209
$message = implode("\n", $encrypted);
152 210
/*
153 211
if( ereg("-----BEGIN PGP MESSAGE-----.*-----END PGP MESSAGE-----",$message) ) {
......
167 225
//Ensuite on GPG Crypte le fichier de htpasswd avec la meme cle
168 226
$encrypted = "";
169 227
$message = "";
170
$command = 'rm -f "' . $dir_htpass_public . $fic_htpass_public  . '" && cat "' . $fic_htpass . '" | ' . $gpg . ' --always-trust --batch --no-secmem-warning -s -e -u "' . $user_from . '" -r "' . $user_apt . '" > ' . $dir_htpass_public . $fic_htpass_public;
171
//print $command;
228
$command = 'rm -f "' . $dir_htpass_public . $fic_htpass_public      . '" && cat "' . $fic_htpass     . '" | ' . $gpg . ' --always-trust --batch --no-secmem-warning -s -e -u "' . $user_from . '" -r "' . $user_apt . '" > ' . $dir_htpass_public . $fic_htpass_public;
229
$result = exec($command, $encrypted, $errorcode);
230
//print $command . "\n";
231

  
232
$encrypted = "";
233
$message = "";
234
$command = 'rm -f "' . $dir_htpass_public . $fic_htpass_public908   . '" && cat "' . $fic_htpass908  . '" | ' . $gpg . ' --always-trust --batch --no-secmem-warning -s -e -u "' . $user_from . '" -r "' . $user_apt . '" > ' . $dir_htpass_public . $fic_htpass_public908;
235
$result = exec($command, $encrypted, $errorcode);
236
//print $command . "\n";
237

  
238
$encrypted = "";
239
$message = "";
240
$command = 'rm -f "' . $dir_htpass_public . $fic_htpass_public1108  . '" && cat "' . $fic_htpass1108 . '" | ' . $gpg . ' --always-trust --batch --no-secmem-warning -s -e -u "' . $user_from . '" -r "' . $user_apt . '" > ' . $dir_htpass_public . $fic_htpass_public1108;
172 241
$result = exec($command, $encrypted, $errorcode);
242
//print $command . "\n";
173 243

  
174 244
//le fichier de checksum que les serveurs vont downloader pour verifier si y a une mise a jour
175 245
$result = exec("cd " . $dir_htpass_public . " && md5sum " . $fic_htpass_public . " > " . $fic_htpass_public . ".md5");

Formats disponibles : Unified diff

Redmine Appliance - Powered by TurnKey Linux