Skip to content

Simplify install process a bit #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Ignore Vim swap files
.*.swp
1 change: 1 addition & 0 deletions AndServer/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/AndServer
4 changes: 4 additions & 0 deletions AndServer/Bin/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Ignore everything in this directory
*
# Except this file
!.gitignore
4 changes: 4 additions & 0 deletions AndServer/Cert/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Ignore everything in this directory
*
# Except this file
!.gitignore
28 changes: 16 additions & 12 deletions AndServer/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -23,25 +23,23 @@ $(OBJDIR)/%.o: $(SRCDIR)/%.cpp $(INCLDIR)/%.h
$(CXX) $(OPTS) -c $< -o $@

certificate:
openssl genrsa -des3 -out Cert/server.key 4096
openssl genrsa -out Cert/server.key 4096
openssl req -new -key Cert/server.key -out Cert/server.csr
openssl x509 -req -days 1095 -in Cert/server.csr -signkey Cert/server.key -out Cert/server.crt
openssl rsa -in Cert/server.key -out Cert/server.key.insecure
cat Cert/server.key.insecure > Cert/server.pem
cat Cert/server.key > Cert/server.pem
cat Cert/server.crt >> Cert/server.pem

rm -rf Cert/server.key Cert/server.csr Cert/server.key.insecure Cert/server.crt
rm -rf Cert/server.key Cert/server.csr Cert/server.crt

clientcert:
openssl genrsa -des3 -out Cert/client.key 4096
openssl genrsa -out Cert/client.key 4096
openssl req -new -key Cert/client.key -out Cert/client.csr
openssl x509 -req -days 1095 -in Cert/client.csr -signkey Cert/client.key -out Cert/client.crt
openssl rsa -in Cert/client.key -out Cert/client.key.insecure
cat Cert/client.key.insecure > Cert/client.pem
cat Cert/client.key > Cert/client.pem
cat Cert/client.crt >> Cert/client.pem
openssl pkcs12 -in Cert/client.pem -export -out Cert/client.pkcs12 -passout pass:123456

rm -rf Cert/client.key Cert/client.pem Cert/client.key.insecure
rm -rf Cert/client.key Cert/client.csr Cert/client.crt

androidbks:
chmod +x mkStore.sh
Expand All @@ -51,14 +49,20 @@ clean:
rm $(PROJECT) $(OBJDIR)/*.o *.pem -f

certclean:
rm -f Cert/*.pem Cert/*.bks
rm -f Cert/server.pem Cert/client.pem Cert/client.pkcs12 Cert/andserver.bks

install:
cp AndServer /usr/bin
cp andserver.conf.example /etc/andserver.conf

certinstall:
mkdir -p /etc/andserver
cp Cert/server.pem Cert/client.pem /etc/andserver

distclean:
rm /usr/bin/AndServer /etc/andserver.conf
rm -f /usr/bin/AndServer /etc/andserver.conf
rm -f /etc/andserver/server.pem /etc/andserver/client.pem
rm -df /etc/andserver

gentoo-install:
cp Initscripts/andserver-service-gentoo /etc/init.d/
Expand All @@ -67,12 +71,12 @@ gentoo-install:

gentoo-uninstall:
rc-update del andserver-service-gentoo
rm /etc/init.d/andserver-service-gentoo
rm -f /etc/init.d/andserver-service-gentoo

ubuntu-install:
cp Initscripts/andserver-service-ubuntu /etc/init/andserver-service.conf
initctl start andserver-service

ubuntu-uninstall:
rm /etc/init/andserver-service.conf
rm -f /etc/init/andserver-service.conf

11 changes: 2 additions & 9 deletions AndServer/Src/AndroidInputServer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -385,14 +385,12 @@ bool AndroidInputServer::daemonize() {

bool AndroidInputServer::readySocket(int *listeningSocket, struct sockaddr_in *serverAddress, int listeningPort){
char tmp[128];
int *optval = new int(1);
int flags;

*listeningSocket = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
if ( *listeningSocket == -1 ) {
sprintf(tmp,"08.12.2011 16:21:36 socket() error: (%d) %s",errno, strerror(errno));
logger->error(tmp);
delete optval;
return false;
}
memset(serverAddress, 0, sizeof(*serverAddress));
Expand All @@ -402,36 +400,31 @@ bool AndroidInputServer::readySocket(int *listeningSocket, struct sockaddr_in *s

if ( bind(*listeningSocket, (struct sockaddr *)serverAddress,sizeof(*serverAddress)) == -1 ) {
logger->error("08.12.2011 16:21:55 bind() error. Perhaps the port numbers are too low? Use >=1024 if you are not root",errno);
delete optval;
return false;
}

if ( listen(*listeningSocket, maxConnections) == -1 ) {
logger->error("15.12.2011 08:02:43 Listen() error",errno);
delete optval;
return false;
}

if (setsockopt(*listeningSocket,SOL_SOCKET,SO_REUSEADDR,optval, sizeof(int)) == -1) {
int optval = 1;
if (setsockopt(*listeningSocket, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof(optval)) == -1) {
logger->error("15.12.2011 23:06:25 setsockopt() error",errno);
delete optval;
return false;
}

if ((flags = fcntl(*listeningSocket, F_GETFL, 0)) < 0)
{
logger->error("27.03.2012 20:58:26 fcntl()",errno);
delete optval;
return false;
}

if (fcntl(*listeningSocket, F_SETFL, flags | O_NONBLOCK) < 0)
{
logger->error("27.03.2012 20:58:12 fcntl() ",errno);
delete optval;
return false;
}
delete optval;
return true;
}

Expand Down
8 changes: 4 additions & 4 deletions AndServer/andserver.conf.example
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@
#keyboard-port 6780

# path to file containing server private key
#private-key-file /path_to_file/server.pem
#private-key-file /etc/andserver/server.pem

# path to file containing server certificate
#certificate-file /path_to_file/server.pem
#certificate-file /etc/andserver/server.pem

# path to file containing server certificate
#certificate-file /path_to_file/client.pem
# path to file containing client certificate
#client-certificate-file /etc/andserver/client.pem

# mouse character special file
#mouse-device-file /dev/avms
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,9 @@ There is a makefile in the AndServer main directory with following targets:
>
> **install** - copies 'AndServer' file to the '/usr/bin' directory and 'andserver.conf.example' to '/etc/andserver.conf'
>
> **distclean** - deletes '/usr/bin/AndServer' and '/etc/andserver.conf'.
> **distclean** - deletes '/usr/bin/AndServer', '/etc/andserver.conf', '/etc/andserver/server.pem' and '/etc/andserver/client.pem'.

Correct order of installation is: install, certificate, androidbks.
Correct order of installation is: install, certificate, clientcert, certinstall and androidbks.

If you are using Gentoo or Ubuntu distribution there are also targets, allowing you to set up the server for automatic start
at boot. These are gentoo-install,gentoo-uninstall and ubuntu-install,ubuntu-uninstall. These install targets should be used
Expand Down