summaryrefslogtreecommitdiffstats
path: root/sca-cpp/trunk/hosting/server/put-account
diff options
context:
space:
mode:
Diffstat (limited to 'sca-cpp/trunk/hosting/server/put-account')
-rwxr-xr-xsca-cpp/trunk/hosting/server/put-account72
1 files changed, 72 insertions, 0 deletions
diff --git a/sca-cpp/trunk/hosting/server/put-account b/sca-cpp/trunk/hosting/server/put-account
new file mode 100755
index 0000000000..39ebc8d9a9
--- /dev/null
+++ b/sca-cpp/trunk/hosting/server/put-account
@@ -0,0 +1,72 @@
+#!/bin/sh
+
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+here=`echo "import os; print os.path.realpath('$0')" | python`; here=`dirname $here`
+mkdir -p $1/conf
+root=`echo "import os; print os.path.realpath('$1')" | python`
+admin=$2
+apass=$3
+user=$4
+email=$5
+host=$6
+
+httpd_prefix=`cat $here/../../modules/http/httpd.prefix`
+
+if [ "$host" = "" ]; then
+ conf=`cat $root/conf/httpd.conf | grep "# Generated by: httpd-conf"`
+ sslconf=`cat $root/conf/httpd.conf | grep "# Generated by: httpd-ssl-conf"`
+ if [ "$sslconf" = "" ]; then
+ scheme="http"
+ addr=`echo $conf | awk '{ print $7 }'`
+ host=`$here/../../modules/http/httpd-addr ip $addr`
+ if [ "$host" = "" ]; then
+ host="localhost"
+ fi
+ port=`$here/../../modules/http/httpd-addr port $addr`
+ else
+ scheme="https"
+ ssladdr=`echo $sslconf | awk '{ print $6 }'`
+ host=`$here/../../modules/http/httpd-addr ip $ssladdr`
+ if [ "$host" = "" ]; then
+ host="localhost"
+ fi
+ port=`$here/../../modules/http/httpd-addr port $ssladdr`
+ fi
+else
+ scheme="https"
+ port="443"
+fi
+
+# Put user account
+cat >$root/conf/account.entry <<EOF
+<?xml version="1.0" encoding="UTF-8"?>
+<entry xmlns="http://www.w3.org/2005/Atom">
+ <title type="text"></title>
+ <id>$user</id>
+ <content type="application/xml">
+ <account>
+ <email>$email</email>
+ <description></description>
+ </account>
+ </content>
+</entry>
+EOF
+curl -k -L -u $admin:$apass -X PUT -H "X-Forwarded-Server: $host" --data-binary @$root/conf/account.entry $scheme://$host:$port/c/Accounts/$user
+rm $root/conf/account.entry
+