Skip to content

Commit 8c3952a

Browse files
ADD: Windows without SSL, Linux with SSL
1 parent 312edf3 commit 8c3952a

File tree

3 files changed

+47
-19
lines changed

3 files changed

+47
-19
lines changed

TCP_IP/Send_get_file/unit1.lfm

-13
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,6 @@ object Form1: TForm1
407407
OnCanSend = LTCPComponent1CanSend
408408
Timeout = 0
409409
ReuseAddress = True
410-
Session = LSSLSessionComponent2
411410
Left = 416
412411
Top = 320
413412
end
@@ -432,7 +431,6 @@ object Form1: TForm1
432431
object LHTTPClientComponent1: TLHTTPClientComponent
433432
OnInput = LHTTPClientComponent1Input
434433
Timeout = 0
435-
Session = LSSLSessionComponent1
436434
Left = 560
437435
Top = 224
438436
end
@@ -442,15 +440,4 @@ object Form1: TForm1
442440
Left = 568
443441
Top = 112
444442
end
445-
object LSSLSessionComponent1: TLSSLSessionComponent
446-
Method = msTLS
447-
Left = 736
448-
Top = 224
449-
end
450-
object LSSLSessionComponent2: TLSSLSessionComponent
451-
Method = msTLS
452-
SSLActive = False
453-
Left = 552
454-
Top = 320
455-
end
456443
end

TCP_IP/Send_get_file/unit1.pas

+32-5
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
(* unter Linux *)
3232
(* Neues Feature : Detailreichere Fortschrittsanzeige *)
3333
(* (immer eine Nachkomma Einheit mit) *)
34-
(* 0.08 - publish reenable SSL *)
34+
(* 0.08 - publish reenable SSL - Linux Only *)
3535
(* *)
3636
(* *)
3737
(* *)
@@ -44,8 +44,11 @@
4444

4545
Uses
4646
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
47-
ExtCtrls, ComCtrls, lNetComponents, lcommon, lNet, lclintf, lHTTPUtil, lhttp,
48-
lNetSSL;
47+
ExtCtrls, ComCtrls, lNetComponents, lcommon, lNet, lclintf, lHTTPUtil, lhttp
48+
{$IFDEF Linux}
49+
, lNetSSL, openssl
50+
{$ENDIF}
51+
;
4952

5053
(*
5154
* LNet von : http://lnet.wordpress.com/download/
@@ -99,15 +102,17 @@
99102
Label8: TLabel;
100103
Label9: TLabel;
101104
LHTTPClientComponent1: TLHTTPClientComponent;
102-
LSSLSessionComponent1: TLSSLSessionComponent;
103-
LSSLSessionComponent2: TLSSLSessionComponent;
104105
LTCPComponent1: TLTCPComponent;
105106
OpenDialog1: TOpenDialog;
106107
OpenDialog2: TOpenDialog;
107108
ProgressBar1: TProgressBar;
108109
RadioGroup1: TRadioGroup;
109110
SaveDialog1: TSaveDialog;
110111
Timer1: TTimer;
112+
{$IFDEF Linux}
113+
LSSLSessionComponent1: TLSSLSessionComponent;
114+
LSSLSessionComponent2: TLSSLSessionComponent;
115+
{$ENDIF}
111116
Procedure Button10Click(Sender: TObject);
112117
Procedure Button1Click(Sender: TObject);
113118
Procedure Button2Click(Sender: TObject);
@@ -289,6 +294,20 @@
289294
TransmitFile.Stream := Nil;
290295
TransmitFile.Filename := '';
291296
TransmitFile.Filesize := 0;
297+
{$IFDEF Windows}
298+
GroupBox3.Enabled := false;
299+
label17.caption := 'No ssl support for Windows systems, sorry ..';
300+
{$ENDIF}
301+
{$IFDEF Linux}
302+
InitSSLInterface;
303+
LSSLSessionComponent1 := TLSSLSessionComponent.create(self);
304+
LSSLSessionComponent1.Method := msTLS;
305+
LSSLSessionComponent2 := TLSSLSessionComponent.create(self);
306+
LSSLSessionComponent2.Method := msTLS;
307+
LSSLSessionComponent2.SSLActive := False;
308+
LHTTPClientComponent1.Session := LSSLSessionComponent2;
309+
LTCPComponent1.Session;
310+
{$ENDIF}
292311
End;
293312

294313
Procedure TForm1.FormDropFiles(Sender: TObject; Const FileNames: Array Of String
@@ -594,10 +613,12 @@
594613

595614
Procedure TForm1.RadioGroup1Click(Sender: TObject);
596615
Begin
616+
{$IFDEF Linux}
597617
Case RadioGroup1.ItemIndex Of
598618
0: LSSLSessionComponent2.Method := msTLS;
599619
1: LSSLSessionComponent2.Method := msTLSv1_2;
600620
End;
621+
{$ENDIF}
601622
End;
602623

603624
Procedure TForm1.Timer1Timer(Sender: TObject);
@@ -609,12 +630,14 @@
609630
Begin
610631
// receiver Connect
611632
Button4.OnClick(Nil);
633+
{$IFDEF Linux}
612634
If CheckBox1.Checked Then Begin
613635
LSSLSessionComponent2.CAFile := edit6.Text;
614636
LSSLSessionComponent2.KeyFile := edit7.Text;
615637
LSSLSessionComponent2.Password := edit8.Text;
616638
End;
617639
LSSLSessionComponent2.SSLActive := CheckBox1.Checked;
640+
{$ENDIF}
618641
If CheckBox2.Checked Then Begin
619642
LTCPComponent1.SocketNet := LAF_INET6;
620643
End
@@ -658,12 +681,14 @@
658681
Begin
659682
// Sender Connect
660683
Button2.OnClick(Nil);
684+
{$IFDEF Linux}
661685
If CheckBox1.Checked Then Begin
662686
LSSLSessionComponent2.CAFile := edit6.Text;
663687
LSSLSessionComponent2.KeyFile := edit7.Text;
664688
LSSLSessionComponent2.Password := edit8.Text;
665689
End;
666690
LSSLSessionComponent2.SSLActive := CheckBox1.Checked;
691+
{$ENDIF}
667692
If CheckBox3.Checked Then Begin
668693
LTCPComponent1.SocketNet := LAF_INET6;
669694
End
@@ -750,7 +775,9 @@
750775

751776
Procedure TForm1.CheckBox1Change(Sender: TObject);
752777
Begin
778+
{$IFDEF Linux}
753779
LSSLSessionComponent2.SSLActive := CheckBox1.Checked;
780+
{$ENDIF}
754781
End;
755782

756783
Procedure TForm1.CheckBox4Change(Sender: TObject);

graphics/ugraphics.pas

+15-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
(******************************************************************************)
22
(* uGraphiks.pas ??.??.???? *)
33
(* *)
4-
(* Version : 0.13 *)
4+
(* Version : 0.14 *)
55
(* *)
66
(* Author : Uwe Schächterle (Corpsman) *)
77
(* *)
@@ -41,6 +41,7 @@
4141
(* 0.12 - add wmFuchsia *)
4242
(* FIX: glitch on rotating images *)
4343
(* 0.13 - RGBAToFPColor, FPColorToRGBA *)
44+
(* 0.14 - RGBAtoLuminanz *)
4445
(* *)
4546
(******************************************************************************)
4647

@@ -116,6 +117,7 @@
116117
Function FPColorToHSL(Const Color: TFPColor): THSL;
117118
Function HSLToFPColor(Const hsl: THSL): TFPColor;
118119

120+
Function RGBAtoLuminanz(Value: TRGBA): Byte; // Berechnet die Helligkeit einer Farbe
119121
Function FPColortoLuminanz(Value: TFPColor): Byte; // Berechnet die Helligkeit einer Farbe
120122
Function ColortoLuminanz(Value: TColor): Byte; // Berechnet die Helligkeit einer Farbe
121123

@@ -527,6 +529,17 @@
527529
result.Alpha := 255 Shr 8;
528530
End;
529531

532+
Function RGBAtoLuminanz(Value: TRGBA): Byte;
533+
Begin
534+
//Y = 0.3R + 0.59G + 0.11B
535+
result := min(255, max(0,
536+
round(
537+
value.R * 0.3 +
538+
value.g * 0.59 +
539+
value.b * 0.11
540+
)));
541+
End;
542+
530543
Function FPColortoLuminanz(Value: TFPColor): Byte;
531544
Begin
532545
//Y = 0.3R + 0.59G + 0.11B
@@ -542,6 +555,7 @@
542555
Var
543556
c: TFPColor;
544557
Begin
558+
// TODO: ohne umwandlung nach tFPColor realisieren
545559
c.red := (value And $FF) Shl 8;
546560
c.green := (value And $FF00);
547561
c.blue := (value And $FF0000) Shr 8;

0 commit comments

Comments
 (0)