From 5df79c53745fde5d6c3340a2979b1429cd5892c1 Mon Sep 17 00:00:00 2001 From: Henrik Rydberg Date: Sat, 8 Oct 2011 20:30:28 +0200 Subject: Initial import of htcd system 1.0 Signed-off-by: Henrik Rydberg --- src/sh/net.cc | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 src/sh/net.cc (limited to 'src/sh/net.cc') diff --git a/src/sh/net.cc b/src/sh/net.cc new file mode 100644 index 0000000..dc03901 --- /dev/null +++ b/src/sh/net.cc @@ -0,0 +1,122 @@ +/************************************************************************* + * + * HTCd - Copyright (C) 1998-2006 Henrik Rydberg + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include + +///////////////////////////////////////////////////////////////// + +TOK_IMPL(sethost) +{ + Req(env)->htc()->setHost(env[0]); +} +TOK_IMPL(setdomain) +{ + Req(env)->htc()->setDomain(env[0]); +} +TOK_IMPL(setport) +{ + Req(env)->htc()->setPort(atoi(env[0])); +} +TOK_IMPL(setmailer) +{ + Req(env)->htc()->setMailer(env[0]); +} + +///////////////////////////////////////////////////////////////// + +TOK_IMPL(HOST) { + out<htc()->host; +} + +TOK_IMPL(HOSTIP) { + out<htc()->node.ip; +} + +TOK_IMPL(DOMAIN) { + out<htc()->domain; +} + +TOK_IMPL(ROOT) { + out<htc()->username; + if(Req(env)->htc()->domain.size()) out<<"@"<htc()->domain; +} + +TOK_IMPL(ADMIN) { + out<htc()->username; + if(Req(env)->htc()->domain.size()) out<<"@"<htc()->domain; +} + +TOK_IMPL(port) +{ + out<htc()->port; +} + +///////////////////////////////////////////////////////////// + +void envAddNet(tokmap& T) +{ + TOK_ADD(sethost,"x",tok_t::SYSONLY, + "%Set host name\n" + "%Syntax: \\sethost{host}\n" + ); + TOK_ADD(setdomain,"x",tok_t::SYSONLY, + "%Set default domain\n" + "%Syntax: \\setdomain{domain}\n" + ); + TOK_ADD(setport,"x",tok_t::SYSONLY, + "%Set host port number\n" + "%Syntax: \\setport{port}\n" + ); + TOK_ADD(setmailer,"x",tok_t::SYSONLY, + "%Set mail program path\n" + "%Syntax: \\setmailer{path}\n" + ); + + ///////////////////////////////////////////////////////////// + + TOK_ADD(HOST,"",tok_t::PUBLIC, + "%Host name\n" + "%Syntax: \\HOST\n" + ); + + TOK_ADD(HOSTIP,"",tok_t::PUBLIC, + "%Host IP address\n" + "%Syntax: \\HOSTIP\n" + ); + + TOK_ADD(DOMAIN,"",tok_t::PUBLIC, + "%Default domain\n" + "%Syntax: \\DOMAIN\n" + ); + + TOK_ADD(ROOT,"",tok_t::PUBLIC, + "%htcroot email address\n" + "%Syntax: \\ROOT\n" + ); + + TOK_ADD(ADMIN,"",tok_t::PUBLIC, + "%admin email address\n" + "%Syntax: \\ADMIN\n" + ); + + TOK_ADD(port,"",tok_t::PUBLIC, + "%Host port number\n" + "%Syntax: \\port\n" + ); +} -- cgit v1.2.3