Commit 6943cb3f authored by Tobias Bernard's avatar Tobias Bernard

Merge branch 'master' of github.com:frac-tion/teleport

parents 889a0b67 b7338e75
/* main.c
*
* Copyright 2017 Julian Sparber <julian@sparber.com>
*
* Teleport is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <gtk/gtk.h> #include <gtk/gtk.h>
#include "teleport-app.h" #include "teleport-app.h"
......
/* teleport-app.c
*
* Copyright 2017 Julian Sparber <julian@sparber.com>
*
* Teleport is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <gtk/gtk.h> #include <gtk/gtk.h>
#include "teleport-app.h" #include "teleport-app.h"
......
/* teleport-app.h
*
* Copyright 2017 Julian Sparber <julian@sparber.com>
*
* Teleport is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __TELEPORT_APP_H #ifndef __TELEPORT_APP_H
#define __TELEPORT_APP_H #define __TELEPORT_APP_H
......
/* teleport-browser.c
*
* Copyright 2017 Julian Sparber <julian@sparber.com>
*
* Teleport is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <stdio.h> #include <stdio.h>
#include <assert.h> #include <assert.h>
#include <stdlib.h> #include <stdlib.h>
......
/* teleport-browser.h
*
* Copyright 2017 Julian Sparber <julian@sparber.com>
*
* Teleport is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __TELEPORT_BROWSER_H #ifndef __TELEPORT_BROWSER_H
#define __TELEPORT_BROWSER_H #define __TELEPORT_BROWSER_H
......
/* teleport-get.c
*
* Copyright 2017 Julian Sparber <julian@sparber.com>
*
* Teleport is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
#include <config.h> #include <config.h>
#endif #endif
......
/* teleport-get.h
*
* Copyright 2017 Julian Sparber <julian@sparber.com>
*
* Teleport is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __TELEPORT_GET_H #ifndef __TELEPORT_GET_H
#define __TELEPORT_GET_H #define __TELEPORT_GET_H
......
/* teleport-peer.c
*
* Copyright 2017 Julian Sparber <julian@sparber.com>
*
* Teleport is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <gtk/gtk.h> #include <gtk/gtk.h>
#include "teleport-peer.h" #include "teleport-peer.h"
......
/* teleport-peer.h
*
* Copyright 2017 Julian Sparber <julian@sparber.com>
*
* Teleport is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __TELEPORT_PEER_H #ifndef __TELEPORT_PEER_H
#define __TELEPORT_PEER_H #define __TELEPORT_PEER_H
......
/* main.c
*
* Copyright 2017 Julian Sparber <julian@sparber.com>
*
* Teleport is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
#include <config.h> #include <config.h>
#endif #endif
......
/* teleport-publish.h
*
* Copyright 2017 Julian Sparber <julian@sparber.com>
*
* Teleport is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __TELEPORT_PUBLISH_H #ifndef __TELEPORT_PUBLISH_H
#define __TELEPORT_PUBLISH_H #define __TELEPORT_PUBLISH_H
......
/* teleport-remote-device.c /* teleport-remote-device.c
* *
* Copyright (C) 2017 Julian Sparber <julian@sparver.net> * Copyright 2017 Julian Sparber <julian@sparber.com>
* *
* This program is free software: you can redistribute it and/or modify * Teleport is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or * the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU Affero General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include <gtk/gtk.h> #include <gtk/gtk.h>
#include "teleport-remote-device.h" #include "teleport-remote-device.h"
......
/* teleport-remote-device.h /* teleport-remote-device.c
* *
* Copyright (C) 2017 Julian Sparber <julian@sparver.net> * Copyright 2017 Julian Sparber <julian@sparber.com>
* *
* This program is free software: you can redistribute it and/or modify * Teleport is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or * the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU Affero General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef TELEPORT_REMOTE_DEVICE_H #ifndef TELEPORT_REMOTE_DEVICE_H
#define TELEPORT_REMOTE_DEVICE_H #define TELEPORT_REMOTE_DEVICE_H
......
/* teleport-server.c
*
* Copyright 2017 Julian Sparber <julian@sparber.com>
*
* Teleport is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <errno.h> #include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
#include <libsoup/soup.h> #include <libsoup/soup.h>
#include <glib.h> #include <glib.h>
...@@ -21,7 +35,6 @@ do_get (SoupServer *server, SoupMessage *msg, const char *path) ...@@ -21,7 +35,6 @@ do_get (SoupServer *server, SoupMessage *msg, const char *path)
{ {
GStatBuf st; GStatBuf st;
printf("paths: %s", path);
if (g_stat (path, &st) == -1) { if (g_stat (path, &st) == -1) {
if (errno == EPERM) if (errno == EPERM)
soup_message_set_status (msg, SOUP_STATUS_FORBIDDEN); soup_message_set_status (msg, SOUP_STATUS_FORBIDDEN);
...@@ -148,8 +161,6 @@ server_callback (SoupServer *server, SoupMessage *msg, ...@@ -148,8 +161,6 @@ server_callback (SoupServer *server, SoupMessage *msg,
soup_message_set_status (msg, SOUP_STATUS_OK); soup_message_set_status (msg, SOUP_STATUS_OK);
g_print("Handle response\n"); g_print("Handle response\n");
} }
//do_get_response_json (server, msg, "hello world");
} }
else else
soup_message_set_status (msg, SOUP_STATUS_NOT_IMPLEMENTED); soup_message_set_status (msg, SOUP_STATUS_NOT_IMPLEMENTED);
...@@ -188,19 +199,26 @@ teleport_server_add_route (gchar *name, ...@@ -188,19 +199,26 @@ teleport_server_add_route (gchar *name,
path = g_strdup_printf("/transfer/%s", name); path = g_strdup_printf("/transfer/%s", name);
soup_server_add_handler (glob_server, path, soup_server_add_handler (glob_server, path,
server_callback, g_strdup(file_to_send), NULL); server_callback, g_strdup(file_to_send), NULL);
//send notification of available file to the client
//For getting file size /* send notification of available file to the client */
//https://developer.gnome.org/gio/stable/GFile.html#g-file-query-info /* getting file size */
file = g_file_new_for_path(file_to_send); file = g_file_new_for_path(file_to_send);
//G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME, G_FILE_ATTRIBUTE_STANDARD_SIZE fileInfo = g_file_query_info(file,
fileInfo = g_file_query_info(file, "standard::display-name,standard::size", G_FILE_QUERY_INFO_NONE, NULL, NULL); "standard::display-name,standard::size",
G_FILE_QUERY_INFO_NONE,
NULL,
NULL);
teleport_get_do_client_notify(g_strdup_printf("http://%s:%d/?token=%s&size=%jd&name=%s\n", teleport_get_do_client_notify(g_strdup_printf("http://%s:%d/?token=%s&size=%jd&name=%s\n",
destination, destination,
port, port,
name, name,
g_file_info_get_size(fileInfo), g_file_info_get_size(fileInfo),
g_file_info_get_display_name(fileInfo))); g_file_info_get_display_name(fileInfo)));
/* Add timeout of 2 min which removes the route again */
g_timeout_add_seconds (2 * 60, do_server_timeout, path); g_timeout_add_seconds (2 * 60, do_server_timeout, path);
g_object_unref(fileInfo); g_object_unref(fileInfo);
g_object_unref(file); g_object_unref(file);
return 0; return 0;
...@@ -230,7 +248,5 @@ teleport_server_run (void) { ...@@ -230,7 +248,5 @@ teleport_server_run (void) {
} }
g_slist_free (uris); g_slist_free (uris);
g_print ("\nWaiting for requests...\n");
return 0; return 0;
} }
/* teleport-server.h
*
* Copyright 2017 Julian Sparber <julian@sparber.com>
*
* Teleport is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __TELEPORT_SERVER_H #ifndef __TELEPORT_SERVER_H
#define __TELEPORT_SERVER_H #define __TELEPORT_SERVER_H
......
/* teleport-window.c
*
* Copyright 2017 Julian Sparber <julian@sparber.com>
*
* Teleport is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <gtk/gtk.h> #include <gtk/gtk.h>
#include "teleport-app.h" #include "teleport-app.h"
......
/* teleport-window.h
*
* Copyright 2017 Julian Sparber <julian@sparber.com>
*
* Teleport is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __TELEPORT_WINDOW_H #ifndef __TELEPORT_WINDOW_H
#define __TELEPORT_WINDOW_H #define __TELEPORT_WINDOW_H
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment