ID |
Date |
Icon |
Author |
Author Email |
Category |
OS |
ELOG Version |
Subject |
66938
|
Tue Nov 16 10:00:48 2010 |
| Stefan Ritt | stefan.ritt@psi.ch | Question | Other | 2.8.0 | Re: Can anyone help compile ELog 2.8.0 on SunOS 5.11? |
Morion Black wrote: |
I have server with SunOS 5.11:
uname -a
SunOS *** 5.11 snv_134 i86pc i386 i86pc
when I try to compile ELog I get error:
gmake
gcc -DHAVE_SSL -w -c -o crypt.o src/crypt.c
gcc -DHAVE_SSL -I../mxml -o elog src/elog.c crypt.o -lsocket -lnsl -lssl
Undefined first referenced
symbol in file
MAX crypt.o
MIN crypt.o
mempcpy crypt.o
_ast_strtoul crypt.o
_ast_realloc crypt.o
ld: fatal: symbol referencing errors. No output written to elog
collect2: ld returned 1 exit status
gmake: *** [elog] Error 1
Can anyone help to compile Elog?
|
The crypt.c file is not from me, so there might be some issues on other OSes. I defined now at least MIN/MAX by hand, and also removed mempcpy. The new version is attached. Can you try again to compile it? The strtoul and realloc are nomal C functions, maybe you have to add some other libraries for linking, but I'm not an expert for SunOS. |
Attachment 1: crypt.c
|
/* SHA256-based Unix crypt implementation.
Released into the Public Domain by Ulrich Drepper <drepper@redhat.com>.
Adapted for MS Windows by Stefan Ritt <stefan.ritt@psi.ch>
$Id: crypt.c 2334 2010-11-16 08:59:45Z ritt $ */
#ifdef _MSC_VER
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define __alignof__(x) sizeof(x)
#define alloca(x) malloc(x)
#define ERANGE 34
typedef unsigned int uint32_t;
#else
#include <errno.h>
#include <limits.h>
#include <stdint.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/param.h>
#include <sys/types.h>
#endif
#ifndef MAX
#define MAX(x,y) ((x)>(y)?(x):(y))
#define MIN(x,y) ((x)<(y)?(x):(y))
#endif
/* Structure to save state of computation between the single steps. */
struct sha256_ctx {
uint32_t H[8];
uint32_t total[2];
uint32_t buflen;
char buffer[128]; /* NB: always correctly aligned for uint32_t. */
};
#if __BYTE_ORDER == __LITTLE_ENDIAN
# define SWAP(n) \
(((n) << 24) | (((n) & 0xff00) << 8) | (((n) >> 8) & 0xff00) | ((n) >> 24))
#else
# define SWAP(n) (n)
#endif
/* This array contains the bytes used to pad the buffer to the next
64-byte boundary. (FIPS 180-2:5.1.1) */
static const unsigned char fillbuf[64] = { 0x80, 0 /* , 0, 0, ... */ };
/* Constants for SHA256 from FIPS 180-2:4.2.2. */
static const uint32_t K[64] = {
0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,
0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,
0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,
0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,
0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,
0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,
0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,
0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,
0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
};
/* Process LEN bytes of BUFFER, accumulating context into CTX.
It is assumed that LEN % 64 == 0. */
static void sha256_process_block(const void *buffer, size_t len, struct sha256_ctx *ctx)
{
const uint32_t *words = buffer;
size_t nwords = len / sizeof(uint32_t);
uint32_t a = ctx->H[0];
uint32_t b = ctx->H[1];
uint32_t c = ctx->H[2];
uint32_t d = ctx->H[3];
uint32_t e = ctx->H[4];
uint32_t f = ctx->H[5];
uint32_t g = ctx->H[6];
uint32_t h = ctx->H[7];
/* First increment the byte count. FIPS 180-2 specifies the possible
length of the file up to 2^64 bits. Here we only compute the
number of bytes. Do a double word increment. */
ctx->total[0] += len;
if (ctx->total[0] < (int) len)
++ctx->total[1];
/* Process all bytes in the buffer with 64 bytes in each round of
the loop. */
while (nwords > 0) {
uint32_t W[64];
unsigned int t;
uint32_t a_save = a;
uint32_t b_save = b;
uint32_t c_save = c;
uint32_t d_save = d;
uint32_t e_save = e;
uint32_t f_save = f;
uint32_t g_save = g;
uint32_t h_save = h;
/* Operators defined in FIPS 180-2:4.1.2. */
#define Ch(x, y, z) ((x & y) ^ (~x & z))
#define Maj(x, y, z) ((x & y) ^ (x & z) ^ (y & z))
#define S0(x) (CYCLIC (x, 2) ^ CYCLIC (x, 13) ^ CYCLIC (x, 22))
#define S1(x) (CYCLIC (x, 6) ^ CYCLIC (x, 11) ^ CYCLIC (x, 25))
#define R0(x) (CYCLIC (x, 7) ^ CYCLIC (x, 18) ^ (x >> 3))
#define R1(x) (CYCLIC (x, 17) ^ CYCLIC (x, 19) ^ (x >> 10))
/* It is unfortunate that C does not provide an operator for
cyclic rotation. Hope the C compiler is smart enough. */
#define CYCLIC(w, s) ((w >> s) | (w << (32 - s)))
/* Compute the message schedule according to FIPS 180-2:6.2.2 step 2. */
for (t = 0; t < 16; ++t) {
W[t] = SWAP(*words);
++words;
}
for (t = 16; t < 64; ++t)
W[t] = R1(W[t - 2]) + W[t - 7] + R0(W[t - 15]) + W[t - 16];
/* The actual computation according to FIPS 180-2:6.2.2 step 3. */
for (t = 0; t < 64; ++t) {
uint32_t T1 = h + S1(e) + Ch(e, f, g) + K[t] + W[t];
uint32_t T2 = S0(a) + Maj(a, b, c);
h = g;
g = f;
f = e;
e = d + T1;
d = c;
c = b;
b = a;
a = T1 + T2;
}
/* Add the starting values of the context according to FIPS 180-2:6.2.2
step 4. */
a += a_save;
b += b_save;
c += c_save;
d += d_save;
e += e_save;
f += f_save;
g += g_save;
h += h_save;
/* Prepare for the next round. */
nwords -= 16;
}
/* Put checksum in context given as argument. */
ctx->H[0] = a;
ctx->H[1] = b;
ctx->H[2] = c;
ctx->H[3] = d;
ctx->H[4] = e;
ctx->H[5] = f;
ctx->H[6] = g;
ctx->H[7] = h;
}
/* Initialize structure containing state of computation.
(FIPS 180-2:5.3.2) */
static void sha256_init_ctx(struct sha256_ctx *ctx)
{
ctx->H[0] = 0x6a09e667;
ctx->H[1] = 0xbb67ae85;
ctx->H[2] = 0x3c6ef372;
ctx->H[3] = 0xa54ff53a;
ctx->H[4] = 0x510e527f;
ctx->H[5] = 0x9b05688c;
ctx->H[6] = 0x1f83d9ab;
ctx->H[7] = 0x5be0cd19;
ctx->total[0] = ctx->total[1] = 0;
ctx->buflen = 0;
}
/* Process the remaining bytes in the internal buffer and the usual
prolog according to the standard and write the result to RESBUF.
IMPORTANT: On some systems it is required that RESBUF is correctly
aligned for a 32 bits value. */
static void *sha256_finish_ctx(struct sha256_ctx *ctx, void *resbuf)
{
/* Take yet unprocessed bytes into account. */
uint32_t bytes = ctx->buflen;
size_t pad;
unsigned int i;
/* Now count remaining bytes. */
ctx->total[0] += bytes;
if (ctx->total[0] < bytes)
++ctx->total[1];
pad = bytes >= 56 ? 64 + 56 - bytes : 56 - bytes;
memcpy(&ctx->buffer[bytes], fillbuf, pad);
/* Put the 64-bit file length in *bits* at the end of the buffer. */
*(uint32_t *) & ctx->buffer[bytes + pad + 4] = SWAP(ctx->total[0] << 3);
*(uint32_t *) & ctx->buffer[bytes + pad] = SWAP((ctx->total[1] << 3) | (ctx->total[0] >> 29));
/* Process last bytes. */
sha256_process_block(ctx->buffer, bytes + pad + 8, ctx);
/* Put result from CTX in first 32 bytes following RESBUF. */
for (i = 0; i < 8; ++i)
((uint32_t *) resbuf)[i] = SWAP(ctx->H[i]);
return resbuf;
}
static void sha256_process_bytes(const void *buffer, size_t len, struct sha256_ctx *ctx)
{
/* When we already have some bits in our internal buffer concatenate
both inputs first. */
if (ctx->buflen != 0) {
size_t left_over = ctx->buflen;
size_t add = 128 - left_over > len ? len : 128 - left_over;
memcpy(&ctx->buffer[left_over], buffer, add);
ctx->buflen += add;
if (ctx->buflen > 64) {
sha256_process_block(ctx->buffer, ctx->buflen & ~63, ctx);
ctx->buflen &= 63;
/* The regions in the following copy operation cannot overlap. */
memcpy(ctx->buffer, &ctx->buffer[(left_over + add) & ~63], ctx->buflen);
}
buffer = (const char *) buffer + add;
len -= add;
}
/* Process available complete blocks. */
if (len >= 64) {
/* To check alignment gcc has an appropriate operator. Other
compilers don't. */
#if __GNUC__ >= 2
# define UNALIGNED_P(p) (((uintptr_t) p) % __alignof__ (uint32_t) != 0)
#else
# define UNALIGNED_P(p) (((uintptr_t) p) % sizeof (uint32_t) != 0)
#endif
if (UNALIGNED_P(buffer))
while (len > 64) {
sha256_process_block(memcpy(ctx->buffer, buffer, 64), 64, ctx);
buffer = (const char *) buffer + 64;
len -= 64;
} else {
sha256_process_block(buffer, len & ~63, ctx);
buffer = (const char *) buffer + (len & ~63);
len &= 63;
}
}
/* Move remaining bytes into internal buffer. */
if (len > 0) {
size_t left_over = ctx->buflen;
memcpy(&ctx->buffer[left_over], buffer, len);
left_over += len;
if (left_over >= 64) {
sha256_process_block(ctx->buffer, 64, ctx);
left_over -= 64;
memcpy(ctx->buffer, &ctx->buffer[64], left_over);
}
ctx->buflen = left_over;
}
}
/* Define our magic string to mark salt for SHA256 "encryption"
replacement. */
static const char sha256_salt_prefix[] = "$5$";
/* Prefix for optional rounds specification. */
static const char sha256_rounds_prefix[] = "rounds=";
/* Maximum salt string length. */
#define SALT_LEN_MAX 16
/* Default number of rounds if not explicitly specified. */
#define ROUNDS_DEFAULT 5000
/* Minimum number of rounds. */
#define ROUNDS_MIN 1000
/* Maximum number of rounds. */
... 275 more lines ...
|
66937
|
Mon Nov 15 16:46:41 2010 |
| Stefan Ritt | stefan.ritt@psi.ch | Question | Windows | 2.8.0-2331 | Re: email format |
Marty Jansen wrote: |
Hi,
In version 2.6.5-1844 we received email like picture below.
Een ouder bericht is op vlap05.nmlan.net gewijzigd:
Logboek |
Documentatie |
Author |
Marty Jansen |
Type |
Werkinstructie |
Category |
Servers |
Subject |
Server Windows 2008 R2 role IIS toevoegen v02.doc |
Logboek URL |
http://nmlanict:8088/Documentatie/7 |
02-11-2010
.\SenN\Proclib\Server Windows 2008 R2 role IIS toevoegen v01.doc
-----------------------------------------------------
05-11-2010
Server Windows 2008 R2 role IIS toevoegen v02.doc: De wijzigingen betreffen het verplaatsen van Inetpub van c:\ naar e:\
Op VLIS27 en VLSQL05 staat de inetpub nu op e:, op de VLSQL04 (NMLITE Testserver) staat de inetpub nog op c:
When upgraded to version 2.8.0-2331 we receive the email like below whitout the frame:
Een nieuw ELOG bericht is bezorgd: |
Logboek: NMLAN Bericht ID: 927 Geef de tijd op: 5-11-2010 23:07:40 |
Author: |
Marty Jansen |
Type: |
QuickChange |
Category: |
Software |
Subject: |
Elog - Update |
|
|
Vanwege verbeterde mogelijkheden in de editor (fckeditor), ELOG geupdate van versie 2.6.5-1844 naar versie 2.8.0.-2331
|
ELOG V2.8.0-2331
Any idea how to get the HTML format email back?
Marty
Sat Nov 6 14:47:16 2010
It looks strange but when I copy and past the message, like I did here, the HTML format is OK, but not when I receive the email in Outlook. This used to be OK with the previous version.
Nothing has changed in Outlook
|
The email notification contains the basic HTML code and an (external) reference to the underlying CSS. I use for example Thunderbird instead of Outlook, and this program asks me if I should "show remote content". Only if I click yes, then the external CSS is loaded. Outlook might also have an option "view as web page" or so. The old format did not use full HTML and therefore was displayed correctly. This can be changed with the email encoding = ... option. |
66936
|
Fri Nov 12 16:50:18 2010 |
| Stefan Ritt | stefan.ritt@psi.ch | Question | Mac OSX | 2.7.8 | Re: Execute a python command? |
harley wrote: |
Is there a way to add a button to the elog interface which would execute a python command?
|
No, there are only the options
execute new = ...
execute edit = ...
execute delete = ...
though which you can execute external scripts. Maybe this is enough? |
66935
|
Fri Nov 12 16:46:28 2010 |
| Stefan Ritt | stefan.ritt@psi.ch | Other | Mac OSX | 2.7.8 | Re: locking entries & auto-submission? |
harley wrote: |
We have multiple users for a single elog. Aside from making an entry only editable by the author, is there a way to secure the entry if it is being edited so that only one user may edit a particular entry at one time?
Also, is there a way to auto-submit entries after x minutes?
Your help and support are appreciated.
Harley
|
You can use
use lock = 1
as described in the documentation. Auto-submission is on the wishlist and will be implemented in the not-so-far future. |
66934
|
Fri Nov 12 13:12:02 2010 |
| Stefan Ritt | stefan.ritt@psi.ch | Question | Windows | 2.8.0-2331 | Re: elog password , attributes and quoting username and password |
Arno Teunisse wrote: |
Yoshio Imai wrote: |
Arno Teunisse wrote: |
Please Notice that I've put quotes around : -u "username password" ( the documentation shows that this is not necessary) . But now it failes to see a required attribute.
|
Have you tried without the quotes? They may not be allowed!
|
Hello Yoshio
Thanks for the answer. Just solved the problem i was having. It seems that the -m option for elog.exe is a required commandline option. When skipping it elog just waits to get something.
Thanks for the time you took to answer this question.
Kind regards Arno Teunisse
|
There are three ways to supply the elog main body text:
1) Via a text file and the -m switch
2) On the command line, like
elog -h localhost -p 8080 -l demo -a author=sr -a type=Routine "this is the main body text"
3) Interactively. If you omit both the -m switch and the text, elog reads from the terminal. You can enter several lines, and finish with Ctrl-Z (Windows) and Ctrl-D (Linux)
C:\>elog -h localhost -p 8080 -l demo -a author=sr -a type=Routine
This is the
main body text
^Z
|
66933
|
Fri Nov 12 11:48:54 2010 |
| Yoshio Imai | | Question | Windows | 2.8.0-2331 | Re: elog password , attributes and quoting username and password |
Arno Teunisse wrote: | It seems that the -m option for elog.exe is a required commandline option. |
You are right; I didn't see that part was missing. On the other hand, I obviously didn't see a few other things in your post, either ...  |
66932
|
Thu Nov 11 22:25:18 2010 |
| Arno Teunisse | A.teeling3@chello.nl | Question | Windows | 2.8.0-2331 | Re: elog password , attributes and quoting username and password |
Yoshio Imai wrote: |
Arno Teunisse wrote: |
Please Notice that I've put quotes around : -u "username password" ( the documentation shows that this is not necessary) . But now it failes to see a required attribute.
|
Have you tried without the quotes? They may not be allowed!
|
Hello Yoshio
Thanks for the answer. Just solved the problem i was having. It seems that the -m option for elog.exe is a required commandline option. When skipping it elog just waits to get something.
Thanks for the time you took to answer this question.
Kind regards Arno Teunisse
|
66931
|
Thu Nov 11 17:57:12 2010 |
| Arno Teunisse | A.teeling3@chello.nl | Question | Windows | 2.8.0-2331 | Re: elog password , attributes and quoting username and password |
Arno Teunisse wrote: |
Hello
When I want to submit an entrie with elog I have the following problem : ( elogd on windows 7 )
D:\MyProgramFiles (x86)\ELOG>elog -v -h localhost -p 8080 -l "Knowledge Base" -u "arnot 123abc" -a "Category=info" -a "OS=HP-UX" -a "Subject=Just testing"
Successfully connected to host localhost, port 8080
Request sent to host:
POST /Knowledge+Base/ HTTP/1.0
Content-Type: multipart/form-data; boundary=---------------------------517428C7722E
Host: NTB100744.simac.local
User-Agent: ELOG
Content-Length: 874
Content sent to host:
---------------------------517428C7722E
Content-Disposition: form-data; name="cmd"
Submit
---------------------------517428C7722E
Content-Disposition: form-data; name="unm"
arnot 123abc
---------------------------517428C7722E
Content-Disposition: form-data; name="upwd"
I9vh6COTmDFzlmSGZ9S1gIC.cUNR0fRSzZOYNzj1LK.
---------------------------517428C7722E
Content-Disposition: form-data; name="exp"
Knowledge Base
---------------------------517428C7722E
Content-Disposition: form-data; name="encoding"
ELCode
---------------------------517428C7722E
Content-Disposition: form-data; name="OS"
HP-UX
---------------------------517428C7722E
Content-Disposition: form-data; name="Subject"
Just testing
---------------------------517428C7722E
Content-Disposition: form-data; name="Text"
Category=info
---------------------------517428C7722E
Response received:
HTTP/1.1 404 Not Found
Server: ELOG HTTP 2.8.0-2331
Content-Type: text/html;charset=ISO-8859-1
Connection: Close
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
<title>ELOG error</title>
<link rel="stylesheet" type="text/css" href="default.css">
</head>
<body><center>
<table class="dlgframe" width="50%" cellpadding="1" cellspacing="0"<tr><td class="errormsg"><i>Error: Attribute <b>Category</b> not supplied.</i><p>
Please go back and enter the <b>Category</b> field.
</td></tr>
<tr><td class="errormsg"><script language="javascript" type="text/javascript">
document.write("<button type=button onClick=history.back()>Back</button>");
</script>
<noscript>
Please use your browser's back button to go back
</noscript>
</td></tr>
</table>
</center></body></html>
Error: Missing required attribute "Category"
Please Notice that I've put quotes around : -u "username password" ( the documentation shows that this is not necessary) . But now it failes to see a required attribute.
When I leave out the quotes in the -u part , it just hangs despite the -vvv on the server console and the -v option used in the elog command line. Nothing happens. No output at the server debug screen.
I'm Not using SSL , nor have i used a certificate. It's just a good old plain html server. ( As far as i can see )
This is the main section in my config and the section I want to change :
[global]
port = 8080
;SSL = 1
;Resource dir = d:/elog.dir
;Logbook dir = d:/elogbooks.dir
CSS = simac1.css
;SMTP host = mailhost.chello.nl
SMTP host = vldexc1.simac.local
Title image URL = \\vldfps1\algemeen\FM&O\Klanten
Title image = <img border="0" width="25%" src="simac.jpg">
Use Lock = 1 ; When a message is edited an other user will be noticed.
; Please notice : Options Category is now global, and sorted
Options Category = Backup,Database,Filesysteem,Info,Monitoring,Mount,Other,Performance,Security,Upgrade, Add User, IP info, Known Issues, I-share OchtendControle
Self register = 1 # user can create an account
;Password file = passwd
Admin user = arnot
Logbook Tabs = 0
Protect Selection page = 1
Main Tab = MAIN
; Iedereen mag in het TEXT gedeelte aanpassingen uitvoeren.
Restrict edit = 0
[Knowledge Base]
Comment = <I>Knowledge base</I>
Help URL = help.html
Logfile = c:/Program files/elog/Knowledge_Base.log
; use user level password access
;Login expiration = 10
;Self register = 1 # user can create an account
; How is the time displayed :
Time format = %A, %B %d, %Y, %H:%M
; look and feel
Guest menu commands = List,Back, Find, Login, Help
Guest find menu commands = Find, Login, Help
Date format = %B %d, %Y
List menu commands = List,New,Find,Select,Import,Config,Logout,Last day,Help
; attributes
Attributes = Author, Author Email, Category, Klanten,Machine, OS ,Version,Archive, Subject
Options Archive = boolean
Options OS = UNIX{10} , AIX {100} , HP-UX{200}, Redhat ES{300} , Suze{400} , Debian{500}
{10} Options Version = ALL
{100} Options Version = 5.1,5.2,5.3,6.1,6.2,6.3
{200} Options Version = 11.10,11.20,11.23
{300} Options Version = 4.7,4.8,4.9,5.0,5.1
{400} Options Version = 10.1,10.2,10.3,11.0,11.1,
{500} Options Version = 6.0 (sqeeze),5.0 (lenny),4.0 (etch),3.1 (sarge),3.0 (woody),2.2 (potato),2.1 (slink),2.0 (hamm)
Options Klanten = Frieslandbank{AA} , Arag{BB}, Super de Boer{CC},NRE{DD}
{AA}Options Machine = rc1lphmc01,rc1lptr01,rc1upas02,rc1upas03,rc1upas04,rc1upas05,rc1upas06,rc1upas07,rc1upas08,rc1upas22,rc1upav1,rc1updb05,rc1updb21,rc2lphmc01,rc2lptr01,rc2upas02,rc2upas32,rc2updb31,rc2updw33,rc2uuav1
{BB}Options Machine = Arag-lin1,Arag-lin2,Arag-lin3,Arag-lin4,Arag-lin5,Arag-lin6
{CC}Options Machine = xai61032
{DD}Options Machine = server27,server32,server37,server38,server40
Extendable options = Category, Klanten
Required Attributes = Category, OS ,Subject
List Display = Subject, Category, Klanten,Machine, OS ,Version,Archive
Thread display = $Subject, entered by $author on $Entry time
Quick filter = Category, OS,Klanten
Display mode = threaded
; title as shown in the browser
Page Title = Accelerator Logbook - $subject
; preset author and email
Preset Author = $long_name
Preset Author Email = $user_email
; these attributes cannot be changed
Locked Attributes = Author, Author Email
; only author can change its own entry
; See restrict edit in the global section
; options for reply
Subst on reply subject = Re: $subject
;Remove on reply = Author, Author Email
Preset on reply Author = $long_name
Preset on reply Author Email = $user_email
; No Email notification
Suppress Email to users = 1 # 1 = do not send mail , 0 = send mail
##############################################################################################
Any help will be appreciated .....
|
When I leave out the quotes in the -u part , it just hangs despite the -vvv on the server console and the -v option used in the elog command line. Nothing happens. No output at the server debug screen.
I'm Not using SSL , nor have i used a certificate. It's just a good old plain html server. ( As far as i can see )
|
|