#include <glib.h>
#include <glib/gstdio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <openvas/base/openvas_file.h>
Go to the source code of this file.
|
int | lsc_user_keys_create (const gchar *password, gchar **private_key) |
| Create local security check (LSC) keys. More...
|
|
int | lsc_user_rpm_recreate (const gchar *name, const char *public_key, void **rpm, gsize *rpm_size) |
| Recreate RPM package. More...
|
|
gchar * | lsc_user_deb_create (const gchar *user, const gchar *rpm_file) |
| Create a Debian package from an LSC user RPM package. More...
|
|
int | lsc_user_deb_recreate (const gchar *name, const char *rpm, gsize rpm_size, void **deb, gsize *deb_size) |
| Recreate Debian package. More...
|
|
int | lsc_user_exe_recreate (const gchar *name, const gchar *password, void **exe, gsize *exe_size) |
| Recreate NSIS package. More...
|
|
◆ G_LOG_DOMAIN
#define G_LOG_DOMAIN "md manage" |
◆ lsc_user_deb_create()
gchar* lsc_user_deb_create |
( |
const gchar * |
user, |
|
|
const gchar * |
rpm_file |
|
) |
| |
Create a Debian package from an LSC user RPM package.
- Parameters
-
[in] | user | Name of user. |
[in] | rpm_file | Location of the RPM file. |
- Returns
- Debian package file name on success, else NULL.
Definition at line 564 of file lsc_user.c.
566 gchar *dirname = g_path_get_dirname (rpm_file);
567 gchar *dir = g_strconcat (dirname,
"/", NULL);
568 gchar *basename = g_path_get_basename (rpm_file);
569 gchar *down_user = g_ascii_strdown (user ? user :
"user", -1);
570 gchar *deb_name = g_strdup_printf (
"%s/openvas-lsc-target-%s_0.5-1_all.deb",
576 if (execute_alien (dir, basename))
◆ lsc_user_deb_recreate()
int lsc_user_deb_recreate |
( |
const gchar * |
name, |
|
|
const char * |
rpm, |
|
|
gsize |
rpm_size, |
|
|
void ** |
deb, |
|
|
gsize * |
deb_size |
|
) |
| |
Recreate Debian package.
- Parameters
-
[in] | name | User name. |
[in] | rpm | RPM package. |
[in] | rpm_size | Size of RPM package, in bytes. |
[out] | deb | Debian package. |
[out] | deb_size | Size of Debian package, in bytes. |
- Returns
- 0 success, -1 error.
Definition at line 602 of file lsc_user.c.
606 char deb_dir[] =
"/tmp/deb_XXXXXX";
607 char rpm_dir[] =
"/tmp/rpm_XXXXXX";
608 gchar *deb_path, *rpm_path;
611 if (alien_found () == FALSE)
613 g_warning (
"%s: Need \"alien\" to make DEBs\n", __FUNCTION__);
619 if (mkdtemp (rpm_dir) == NULL)
625 rpm_path = g_build_filename (rpm_dir,
"p.rpm", NULL);
626 g_file_set_contents (rpm_path, rpm, rpm_size, &error);
632 if (mkdtemp (deb_dir) == NULL)
635 if (deb_path == NULL)
641 g_file_get_contents (deb_path, (gchar **) deb, deb_size, &error);
645 g_error_free (error);
655 openvas_file_remove_recurse (deb_dir);
661 openvas_file_remove_recurse (rpm_dir);
gchar * lsc_user_deb_create(const gchar *user, const gchar *rpm_file)
Create a Debian package from an LSC user RPM package.
◆ lsc_user_exe_recreate()
int lsc_user_exe_recreate |
( |
const gchar * |
name, |
|
|
const gchar * |
password, |
|
|
void ** |
exe, |
|
|
gsize * |
exe_size |
|
) |
| |
Recreate NSIS package.
- Parameters
-
[in] | name | User name. |
[in] | password | Password. |
[out] | exe | NSIS package. |
[out] | exe_size | Size of NSIS package, in bytes. |
- Returns
- 0 success, -1 error.
Definition at line 883 of file lsc_user.c.
887 char exe_dir[] =
"/tmp/exe_XXXXXX";
891 if (alien_found () == FALSE)
893 g_warning (
"%s: Need \"alien\" to make EXEs\n", __FUNCTION__);
899 if (mkdtemp (exe_dir) == NULL)
901 exe_path = g_build_filename (exe_dir,
"p.nsis", NULL);
902 if (lsc_user_exe_create (
name, password, exe_path))
908 g_file_get_contents (exe_path, (gchar **) exe, exe_size, &error);
911 g_error_free (error);
921 openvas_file_remove_recurse (exe_dir);
◆ lsc_user_keys_create()
int lsc_user_keys_create |
( |
const gchar * |
password, |
|
|
gchar ** |
private_key |
|
) |
| |
Create local security check (LSC) keys.
- Parameters
-
[in] | password | Password. |
[out] | private_key | Private key. |
- Returns
- 0 success, -1 error.
Definition at line 177 of file lsc_user.c.
182 char key_dir[] =
"/tmp/openvas_key_XXXXXX";
183 gchar *key_path = NULL;
188 if (mkdtemp (key_dir) == NULL)
192 key_path = g_build_filename (key_dir,
"key", NULL);
193 if (create_ssh_key (
"Key generated by OpenVAS Manager", password, key_path))
197 g_file_get_contents (key_path, private_key, &length, &error);
200 g_error_free (error);
207 openvas_file_remove_recurse (key_dir);
◆ lsc_user_rpm_recreate()
int lsc_user_rpm_recreate |
( |
const gchar * |
name, |
|
|
const char * |
public_key, |
|
|
void ** |
rpm, |
|
|
gsize * |
rpm_size |
|
) |
| |
Recreate RPM package.
- Parameters
-
[in] | name | User name. |
[in] | public_key | Public key. |
[out] | rpm | RPM package. |
[out] | rpm_size | Size of RPM package, in bytes. |
- Returns
- 0 success, -1 error.
Definition at line 416 of file lsc_user.c.
420 char rpm_dir[] =
"/tmp/rpm_XXXXXX";
421 char key_dir[] =
"/tmp/key_XXXXXX";
422 gchar *rpm_path, *public_key_path;
425 if (alien_found () == FALSE)
427 g_warning (
"%s: Need \"alien\" to make RPMs\n", __FUNCTION__);
433 if (mkdtemp (key_dir) == NULL)
439 public_key_path = g_build_filename (key_dir,
"key.pub", NULL);
440 g_file_set_contents (public_key_path, public_key, strlen (public_key),
447 if (mkdtemp (rpm_dir) == NULL)
449 rpm_path = g_build_filename (rpm_dir,
"p.rpm", NULL);
450 g_debug (
"%s: rpm_path: %s", __FUNCTION__, rpm_path);
451 if (lsc_user_rpm_create (
name, public_key_path, rpm_path) == FALSE)
460 g_file_get_contents (rpm_path, (gchar **) rpm, rpm_size, &error);
464 g_error_free (error);
474 openvas_file_remove_recurse (rpm_dir);
478 g_free (public_key_path);
480 openvas_file_remove_recurse (key_dir);