Forums before death by AOL, social media and spammers... "We can't have nice things"
|    comp.os.vms    |    DEC's VAX* line of computers & VMS.    |    264,096 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 263,725 of 264,096    |
|    =?UTF-8?Q?Arne_Vajh=C3=B8j?= to All    |
|    Re: And so? (VMS/XDE)    |
|    11 Nov 25 20:02:13    |
      From: arne@vajhoej.dk              On 11/11/2025 7:57 PM, Arne Vajhøj wrote:       > On 11/11/2025 3:59 PM, Lawrence D’Oliveiro wrote:       >> On Tue, 11 Nov 2025 15:23:29 -0000 (UTC), Waldek Hebisch wrote:       >>> Well, Cobol represents practices of 1960 business data processing.       >>> At that time it was state of the art. But state of the art changed.       >>> Cobol somewhat adapted but it slow to this.       >>       >> The example I like to mention is the rise of the SQL DBMS. These       >> became very important for “business data processing” use in the 1980s.              >>         And guess what: dynamic string       >> handling is something that was specifically left out of COBOL, because       >> it was not seen as important for “business” use.       >       > Nonsense.       >       > Cobol does dynamic string handling just fine.       >       > Not as good as Java, Python, PHP and other newer languages.       >       > But better than Fortran, C and many other common languages       > back then.       >       > (and I believe we have told you so before)              Demo:              $ type dynsql.eco        IDENTIFICATION DIVISION.        PROGRAM-ID. DYNSQL.               ENVIRONMENT DIVISION.        CONFIGURATION SECTION.        SPECIAL-NAMES.        ARGUMENT-VALUE IS COMMAND-LINE-ARGUMENT.        DATA DIVISION.        WORKING-STORAGE SECTION.        EXEC SQL INCLUDE SQLCA END-EXEC.        EXEC SQL BEGIN DECLARE SECTION END-EXEC.        01 CON PIC X(255).        01 USR PIC X(255).        01 PWD PIC X(255).        01 SQLSTR PIC X(255).        01 F1 PIC S9(9) BINARY.        01 F2 PIC X(50).        EXEC SQL END DECLARE SECTION END-EXEC.        01 TEMP PIC 9(9) DISPLAY.        01 F2VAL PIC X(50).               PROCEDURE DIVISION.        MAIN-PARAGRAPH.        MOVE "" TO F2VAL        ACCEPT F2VAL FROM COMMAND-LINE-ARGUMENT        MOVE "test" TO CON        MOVE "SYSADM" TO USR        MOVE "hemmeligt" TO PWD        EXEC SQL CONNECT TO :CON USER :USR USING :PWD END-EXEC        IF F2VAL = ""        MOVE "SELECT f1,f2 FROM t1" TO SQLSTR        ELSE        STRING "SELECT f1,f2 FROM t1 WHERE f2='"        F2VAL        "'" DELIMITED BY SIZE INTO SQLSTR        END-IF        EXEC SQL PREPARE 'mystmt' FROM :SQLSTR END-EXEC        EXEC SQL ALLOCATE 'mycurs' CURSOR FOR 'mystmt' END-EXEC        EXEC SQL OPEN 'mycurs' END-EXEC        MOVE 0 TO SQLCODE        PERFORM UNTIL NOT SQLCODE = 0        EXEC SQL FETCH 'mycurs' INTO :f1, :f2 END-EXEC        IF SQLCODE = 0 THEN        MOVE F1 TO TEMP        DISPLAY TEMP " " F2        END-IF        END-PERFORM        EXEC SQL CLOSE 'mycurs' END-EXEC        STOP RUN.       $ esql/cobol dynsql              Mimer SQL Embedded SQL Preprocessor Version 11.0.8E       Copyright (C) Mimer Information Technology AB. All rights reserved.              dynsql.eco              $ cobol/ansi dynsql       $ link dynsql + mimer$lib:mimer$sql/opt       $ mcr []dynsql       000000001 A       000000002 BB       000000003 CCC       $ mcr []dynsql BB       000000002 BB       $ mcr []dynsql "BB' OR 'X'='X"       000000001 A       000000002 BB       000000003 CCC              Voila. A Cobol program using embedded SQL vulnerable to       SQL injection. That is extremely rare!!              Arne              --- SoupGate-Win32 v1.05        * Origin: you cannot sedate... all the things you hate (1:229/2)    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca