"Fossies" - the Fresh Open Source Software archive 
Member "dbox-2.41/oserv/alpha.C" of archive dbox-2.41.tgz:
/*
DBOX Module
Copyright (C) 1994-2000 Daniel Kroening <kroening@handshake.de>
Purpose:
*/
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <time.h>
#include <dirent.h>
#include <dboxpath.h>
#include <netdefs.h>
#include <logins.h>
#include "../online/extern.h"
#include "../online/online.h"
#include "../online/userlog.h"
#include "netz.h"
#include "puffer.h"
#include "z38.h"
#include "alpha.h"
class alphanetlogint:public z38netlogint
{
public:
virtual bool checklicense();
virtual void handle_local();
};
void alphanetlogint::handle_local()
{
char infilename[DIRLEN],
outfilename[DIRLEN],
newoutfilename[DIRLEN];
del_port_temp_dir();
snprintf(infilename, DIRLEN, DBOXPORTTEMPDIR "infile.%s", config.dboxdir,
config.port, packerextention(up|"packer"));
remove(infilename);
online.printf("\r\n***OK***\r\n");
// EMPFANGEN
if(status.online2)
{
if(!online.comport.dcd())
{
userlogprintf2(status, up.name, "alphanetlogin", "Carrier lost");
rename(newoutfilename, outfilename);
freenetcallfile(&up);
return;
}
}
{
char tempstr[TEXTLEN];
snprintf(tempstr, TEXTLEN, "Eingangspuffer von Netzwerksystem %s", up.name);
if(doupload_specialfile('Z', infilename, tempstr, logintype))
{
userlogprintf2(status, up.name, "alphanetlogin", "Upload fehlgeschlagen");
rename(newoutfilename, outfilename);
freenetcallfile(&up);
return;
}
}
online.flushkeys();
storearchive(&up, infilename);
// SENDEN
if(getnetcallfile(&up, outfilename))
{
userlogprintf2(status, up.name, "alphanetlogin", "Failed to get netcallfile");
online.printf("\r\n###ENDE###\r\n");
sleep(1);
return;
}
if(access(outfilename, 00)!=0)
{
online.printf("\r\n###ENDE###\r\n");
freenetcallfile(&up);
sleep(1);
return;
}
snprintf(newoutfilename, DIRLEN, DBOXPORTTEMPDIR "buffer",
config.dboxdir, config.port);
remove(newoutfilename);
rename(outfilename, newoutfilename);
online.printf("*");
{
char tempstr[TEXTLEN];
snprintf(tempstr, TEXTLEN, "Ausgangspuffer von Netzwerksystem %s", up.name);
if(dodownload('Z', newoutfilename, tempstr, logintype))
{
userlogprintf2(status, up.name, "alphanetlogin", "Download fehlgeschlagen");
rename(newoutfilename, outfilename);
freenetcallfile(&up);
return;
}
}
remove(newoutfilename);
freenetcallfile(&up);
online.printf("\r\n###ENDE###\r\n");
sleep(1);
}
bool alphanetlogint::checklicense()
{
return FALSE;
}
void alpha1login(const char *login)
{
alphanetlogint alphanetlogin;
strmaxcpy(alphanetlogin.loginstring, login, TEXTLEN-1);
alphanetlogin.login=NETZ_ALPHABOX;
alphanetlogin.donetlogin();
}