diff --git a/htroot/proxymsg/urlproxyheader.html b/htroot/proxymsg/urlproxyheader.html index 5f53ef526..61bf64a12 100644 --- a/htroot/proxymsg/urlproxyheader.html +++ b/htroot/proxymsg/urlproxyheader.html @@ -2,8 +2,11 @@
-
- #(httpsAlertMsg)#::   - (Warning: secure target viewed over normal http)#(/httpsAlertMsg)# + + + #(httpsAlertMsg)#::   - (Warning: secure target viewed over normal http)#(/httpsAlertMsg)# + #(allowbookmark)#:: + #(/allowbookmark)#
diff --git a/htroot/proxymsg/urlproxyheader.java b/htroot/proxymsg/urlproxyheader.java index ff7d86cf9..4c0bff9f7 100644 --- a/htroot/proxymsg/urlproxyheader.java +++ b/htroot/proxymsg/urlproxyheader.java @@ -1,4 +1,5 @@ import net.yacy.cora.protocol.RequestHeader; +import net.yacy.data.BookmarksDB.Bookmark; import net.yacy.search.Switchboard; import net.yacy.server.serverObjects; import net.yacy.server.serverSwitch; @@ -13,10 +14,24 @@ public class urlproxyheader { final serverObjects prop = new serverObjects(); final Switchboard sb = (Switchboard) env; - final String proxyurlstr = post.get("url",""); // the url of remote page currently viewed - prop.put("proxyurl", proxyurlstr); + String proxyurlstr = post.get("url",""); // the url of remote page currently viewed + boolean hasRights = sb.verifyAuthentication(requestHeader); + prop.put("allowbookmark", hasRights); - if (proxyurlstr.startsWith("https")) { + if (post.containsKey("addbookmark")) { + proxyurlstr = post.get("bookmark"); + Bookmark bmk = sb.bookmarksDB.createorgetBookmark(proxyurlstr, null); + if (bmk != null) { + bmk.setPublic(false); + bmk.addTag("/proxy"); // add to bookmark folder + sb.bookmarksDB.saveBookmark(bmk); + } + } + + prop.put("proxyurl", proxyurlstr); + prop.put("allowbookmark_proxyurl", proxyurlstr); + + if (proxyurlstr.startsWith("https") && !requestHeader.getScheme().equalsIgnoreCase("https")) { prop.put("httpsAlertMsg", "1"); } else { prop.put("httpsAlertMsg", "0");