!C99Shell v. 1.0 pre-release build #13!

Software: Apache/2.0.54 (Unix) mod_perl/1.99_09 Perl/v5.8.0 mod_ssl/2.0.54 OpenSSL/0.9.7l DAV/2 FrontPage/5.0.2.2635 PHP/4.4.0 mod_gzip/2.0.26.1a 

uname -a: Linux snow.he.net 4.4.276-v2-mono-1 #1 SMP Wed Jul 21 11:21:17 PDT 2021 i686 

uid=99(nobody) gid=98(nobody) groups=98(nobody) 

Safe-mode: OFF (not secure)

/usr/src/linux-2.4.18-xfs-1.1/drivers/s390/char/   drwxr-xr-x
Free 318.34 GB of 458.09 GB (69.49%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     tubttyaid.c (4.84 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/*
 *  IBM/3270 Driver -- Copyright (C) 2000 UTS Global LLC
 *
 *  tubttyaid.c -- Linemode Attention-ID functionality
 *
 *
 *
 *
 *
 *  Author:  Richard Hitt
 */
#include "tubio.h"

#define PA1_STR "^C"
#define PF3_STR "^D"
#define PF9_STR "\033j"
#define PF10_STR "\033k"
#define PF11_STR "\033j"
/* other AID-key default strings */

aid_t aidtab[64] = {
/* 00         */    { 0, 0 },
/* C1 = PF13  */    { TA_DOSTRING, 0 },
/* C2 = PF14  */    { TA_DOSTRING, 0 },
/* C3 = PF15  */    { TA_DOSTRING, 0 },
/* C4 = PF16  */    { TA_DOSTRING, 0 },
/* C5 = PF17  */    { TA_DOSTRING, 0 },
/* C6 = PF18  */    { TA_DOSTRING, 0 },
/* C7 = PF19  */    { TA_DOSTRING, 0 },
/* C8 = PF20  */    { TA_DOSTRING, 0 },
/* C9 = PF21  */    { TA_DOSTRING, 0 },
/* 4A = PF22  */    { TA_DOSTRING, 0 },
/* 4B = PF23  */    { TA_DOSTRING, 0 },
/* 4C = PF24  */    { TA_DOSTRING, 0 },
/* 0D         */    { 0, 0 },
/* 0E         */    { 0, 0 },
/* 0F         */    { 0, 0 },
/* 10         */    { 0, 0 },
/* 11         */    { 0, 0 },
/* 12         */    { 0, 0 },
/* 13         */    { 0, 0 },
/* 14         */    { 0, 0 },
/* 15         */    { 0, 0 },
/* 16         */    { 0, 0 },
/* 17         */    { 0, 0 },
/* 18         */    { 0, 0 },
/* 19         */    { 0, 0 },
/* 1A         */    { 0, 0 },
/* 1B         */    { 0, 0 },
/* 1C         */    { 0, 0 },
/* 1D         */    { 0, 0 },
/* 1E         */    { 0, 0 },
/* 1F         */    { 0, 0 },
/* 60 = NoAID */    { 0, 0 },
/* 21         */    { 0, 0 },
/* 22         */    { 0, 0 },
/* 23         */    { 0, 0 },
/* 24         */    { 0, 0 },
/* 25         */    { 0, 0 },
/* E6 = OpRdr */    { 0, 0 },
/* E7 = MSRdr */    { 0, 0 },
/* E8 = NoAID */    { 0, 0 },
/* 29         */    { 0, 0 },
/* 2A         */    { 0, 0 },
/* 6B =  PA3  */        { TA_SHORTREAD, 0 },
/* 6C =  PA1  */        { TA_SHORTREAD | TA_DOSTRING, PA1_STR },
/* 6D = CLEAR */        { TA_SHORTREAD | TA_CLEARKEY, 0 },
/* 6E =  PA2  */        { TA_SHORTREAD | TA_CLEARLOG, 0 },
/* 2F         */    { 0, 0 },
/* F0 = TstRq */        { 0, 0 },
/* F1 =  PF1  */    { TA_DOSTRING, 0 },
/* F2 =  PF2  */    { TA_DOSTRING, 0 },
/* F3 =  PF3  */        { TA_DOSTRING, PF3_STR },
/* F4 =  PF4  */    { TA_DOSTRING, 0 },
/* F5 =  PF5  */    { TA_DOSTRING, 0 },
/* F6 =  PF6  */    { TA_DOSTRING, 0 },
/* F7 =  PF7  */    { TA_DOSTRING, 0 },
/* F8 =  PF8  */    { TA_DOSTRING, 0 },
/* F9 =  PF9  */        { TA_DOSTRING, PF9_STR },
/* 7A = PF10  */        { TA_DOSTRING, PF10_STR },
/* 7B = PF11  */        { TA_DOSTRING, PF11_STR },
/* 7C = PF12  */    { TA_DOSTRING, 0 },
/* 7D = ENTER */        { TA_DOENTER, 0 },
/* 7E = Pen   */        { 0, 0 },
/* 3F         */    { 0, 0 },
};

int
tty3270_aid_init(tub_t *tubp)
{
    memcpy(tubp->tty_aid, aidtab, sizeof aidtab);
    tubp->tty_aidinit = 1;
    return 0;
}

void
tty3270_aid_fini(tub_t *tubp)
{
    int i;
    char *sp;

    if (tubp->tty_aidinit == 0)
        return;
    for (i = 0; i < 64; i++) {
        if ((sp = tubp->tty_aid[i].string) == NULL)
            continue;
        if (sp == aidtab[i].string)
            continue;
        kfree(sp);
    }
    tubp->tty_aidinit = 0;
}

void
tty3270_aid_reinit(tub_t *tubp)
{
    tty3270_aid_fini(tubp);
    tty3270_aid_init(tubp);
}

int
tty3270_aid_get(tub_t *tubp, int aid, int *aidflags, char **aidstring)
{
    aid_t *ap;

    ap = AIDENTRY(aid, tubp);
    *aidflags = ap->aid;
    *aidstring = ap->string;
    return 0;
}

/*
 * tty3270_aid_set() -- write_proc extension
 * Parse written string as an AID name.  Return 0 if it's not.
 * Otherwise absorb the string and return count or -error.
 */
int
tty3270_aid_set(tub_t *tubp, char *buf, int count)
{
    char name[8];
    char *sp;
    int aidn, aidx;
    aid_t *ap;
    int len;
    char *pfp;

    if (tubp->tty_aidinit == 0)
        return 0;
    if (count < 3)          /* If AID-key name too short */
        return 0;
    name[0] = buf[0] < 0x60? buf[0]: (buf[0] & 0x5f);
    name[1] = buf[1] < 0x60? buf[1]: (buf[1] & 0x5f);
    if (name[0] == 'P' && name[1] == 'F') {
        aidn = simple_strtoul(buf+2, &sp, 10);
        if (aidn < 1 || aidn > 24)
            return 0;
        aidx = aidn > 12? aidn - 12: aidn + 0x30;
        ap = &tubp->tty_aid[aidx];
    } else if (name[0] == 'P' && name[1] == 'A') {
        aidn = simple_strtoul(buf+2, &sp, 10);
        if (aidn < 1 || aidn > 3)
            return 0;
        switch(aidn) {
        case 1:  aidx = 0x2c; break;
        case 2:  aidx = 0x2e; break;
        case 3:  aidx = 0x2b; break;
        default:  aidx = 0; break;
        }
        ap = &tubp->tty_aid[aidx];
    } else {
        return 0;
    }

    if (*sp == '\0') {
        tubp->tty_showaidx = ap - tubp->tty_aid;
        return count;
    } else if (*sp == '=') {
        len = strlen(++sp);
        if (len == 0) {
            if (ap->string != NULL &&
                ap->string != aidtab[aidx].string)
                kfree(ap->string);
            ap->string = aidtab[aidx].string;
            ap->aid = aidtab[aidx].aid;
            return count;
        }
        if ((pfp = kmalloc(len + 1, GFP_KERNEL)) == NULL)
            return -ENOMEM;
        if (ap->string != NULL &&
            ap->string != aidtab[aidx].string)
            kfree(ap->string);
        if (sp[len - 1] == '\n') {
            ap->aid = TA_DOSTRING;
            sp[len - 1] = '\0';
            len--;
        } else {
            ap->aid = TA_DOSTRINGD;
        }
        memcpy(pfp, sp, len + 1);
        ap->string = pfp;
        return count;
    } else {
        return -EINVAL;
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.025 ]--