[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Openvds-devel] vsd_map_read()
From: |
Lev V. Vanyan |
Subject: |
[Openvds-devel] vsd_map_read() |
Date: |
Thu, 16 May 2002 16:56:14 +0300 |
-----BEGIN PGP SIGNED MESSAGE-----
I wrote a small test (something familiar to vsdvirtuald), but it unable to
read vsd config. I have had some problems with compilation, but now it is ok
(thx to Damion Parry).
Any suggestions ? Here is a full test of this source:
/*********************************************************************
* Written by Lev V. Vanyan <address@hidden>
* Mirotel LTD, Kyiv, Ukraine
* This is free software, so you can distribute under the terms and
* conditions of GNU Public License ("GPL"). I take NO RESPONCEBILITY
* for any kind of damage this software could give. So you are on your
* own.
*
* Send your bug reports to address@hidden
*
* Based on virtuald.c from freevsd's source tree
* Should be compiled within VSD source tree
*
**********************************************************************/
#include "main.h"
#include "vsd.h"
#include "libvsd.h"
int touch_mailbox (char* domain_name,char* mailbox_name) {
int result = -1;
char* vs_root,*cmd_line = (char*) malloc (1024);
struct vsd_vs *vd;
struct vsd_vs_map *vsd_map;
struct connection *vsd_con =
(struct connection*) malloc (sizeof(struct connection));
vsd_map = vsd_map_read();
if( vsd_map == NULL ) {
#ifndef ALWAYS_SILENT
puts("\ttouch_mailbox(): unable to read vsd config");
#endif
goto touch_end;
}
vd = vsd_getvdent(vsd_map,domain_name);
if( vd == NULL ) {
#ifndef ALWAYS_SILENT
printf("\ttouch_mailbox(): unable to find domain %s\n",
domain_name);
#endif
goto touch_end;
}
vs_root = (char*) vsd_map_server_root(vsd_map,vd->name);
if(chroot(vs_root) != 0) {
#ifndef ALWAYS_SILENT
puts("\ttouch_mailbox(): unable to chroot() to virtual
server");
#endif
goto touch_end;
}
chdir("/");
initgroups("root",0);
sprintf(cmd_line,"/bin/touch %s/%s/%s",
VS_MAILBOX_PATH,domain_name,mailbox_name);
#ifndef ALWAYS_SILENT
puts(cmd_line);
#endif
system(cmd_line);
sprintf(cmd_line,"/bin/chmod 640 %s/%s/%s",
VS_MAILBOX_PATH,domain_name,mailbox_name);
#ifndef ALWAYS_SILENT
puts(cmd_line);
#endif
system(cmd_line);
sprintf(cmd_line,"/bin/chown mail:admin %s/%s/%s",
VS_MAILBOX_PATH,domain_name,mailbox_name);
#ifndef ALWAYS_SILENT
puts(cmd_line);
#endif
system(cmd_line);
result = 0;
touch_end:
return result;
}
/* src end */
- --
Lev V. Vanyan System Administrator
Mirotel ISP nic-hdl: VL1580-RIPE, LV2560-NIC
mailto: address@hidden
-----BEGIN PGP SIGNATURE-----
Version: 2.6.3a
Charset: noconv
iQB1AwUBPOO6fs9Sz223N4s1AQHJtwMAqaAJZVfguFOzIwL/TGOr5maaiNuUFUwE
7VHmbKNx2W9pqzBx3NTVjJnGqujtLAmoNxNHKQi4jU422cuoX5sh/drj7afJop0Z
2jjsxAPt67gRTdAUL8k3TVsihxKdETdN
=RJgj
-----END PGP SIGNATURE-----
- [Openvds-devel] vsd_map_read(),
Lev V. Vanyan <=