Skip to Content.
Sympa Menu

freetds - Re: TDS 7.0 login packet is correct ?

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "Fernando" <nulll AT bol.com.br>
  • To: freetds AT franklin.oit.unc.edu
  • Subject: Re: TDS 7.0 login packet is correct ?
  • Date: Sun, 31 Mar 2002 19:49:17 -0500


Hello,

How I can to difference the received packets, which query the pakcet
reference ? (In TDS 5.0) FreeTDS implements that ? Could you send me the
specification of TDS 5.0? I didn't find it in Sybase site .


Regards!!

> You can do something like that in TDS 5.0, but not that I'm aware of in
> TDS 7.0.
>
> On Sun, 31 Mar 2002, Fernando wrote:
>
> > Hello,
> >
> > Ah! I understand now.
> >
> > With freeTDS is possible send two query in even time ? Is possible send
> > a second query before the result of a first query be processed ?
> >
> >
> >
> > Regards!!
> >
> >
> >
> > > A netlib packet does not necessarily come in one IP packet, so you get a
> > > fragment, then another, then another. It is also possible for a netlib
> > > packet to start in the middle of an IP packet. So you are gareenteed
> > > that
> > > the first 8 bytes will be the netlib header, and that will contain the
> > > size of the packet in total, if the netlib packet exhausts in the middle
> > > of an IP packetk, the next 8 bytes will be the next netlib header, and
> > > so
> > > on.
> > >
> > > Brian
> > >
> > > On Sun, 31 Mar 2002, Fernando wrote:
> > >
> > > > Hello,
> > > >
> > > > Thank you for explain, but i don't understand why I receive parts
> > > > of
> > > > response packet(0x04) without header. Why ?
> > > > I'm trying to accomplish a small sample application in
> > > > Delphi/Kylix for
> > > > best understand TDS 7.0 !
> > > >
> > > >
> > > > Regards!!!
> > > >
> > > > > The response stream is broken down into a series of protocol data
> > > > > units
> > > > > kicked off by a one byte 'token'. Some are fixed length and some
> > > > > are
> > > > > variable length. See the function tds_is_fixed_token() for a list
> > > > > of
> > > > > fixed length PDUs and tds_get_token_size() for their sizes. A
> > > > > variable
> > > > > length pdu OTOH has a two byte size field which follows the token.
> > > > > See
> > > > > src/tds/token.c for details on processing the various tokens. The
> > > > > one
> > > > > exception to all this is the TDS_ROW_TOKEN type which is variable
> > > > > length
> > > > > but has no size field, and thus requires having stored data from the
> > > > > result token to make sense of it all.
> > > > >
> > > > > Might I ask what you are trying to accomplish?
> > > > >
> > > > > Brian
> > > > >
> > > > > On Sat, 30 Mar 2002, Fernando wrote:
> > > > >
> > > > > > Hello,
> > > > > >
> > > > > > Thank you very much Brian, the login are performed and the
> > > > > > connection
> > > > > > did are open. After I send login packet I receive the following
> > > > > > packets:
> > > > > >
> > > > > > send:
> > > > > > 10 01 00 D4 00 00 00 00 CC 00 00 00 00 00 00 70 00 00 00 00 00 00
> > > > > > 00 06 82
> > > > > > F2 F8 FF 00 00 00 00 E0 03 00 00 88 FF FF FF 36 04 00 00 56 00 00
> > > > > > 00 56 00
> > > > > > 08 00 66 00 00 00 66 00 08 00 76 00 09 00 00 00 00 00 88 00 0A 00
> > > > > > 9C 00 00
> > > > > > 00 9C 00 00 00 00 40 33 9A 6B 50 9C 00 30 00 CC 00 00 00 66 00 65
> > > > > > 00 72 00
> > > > > > 6E 00 61 00 6E 00 64 00 6F 00 54 00 44 00 53 00 54 00 72 00 61 00
> > > > > > 63 00 65
> > > > > > 00 53 00 61 00 74 00 65 00 6C 00 6C 00 69 00 74 00 65 00 44 00 42
> > > > > > 00 2D 00
> > > > > > 4C 00 69 00 62 00 72 00 61 00 72 00 79 00 4E 54 4C 4D 53 53 50 00
> > > > > > 01 00 00
> > > > > > 00 06 82 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> > > > > > 00 00 00
> > > > > > 30 00 00 00 00 00 00 00 30 00 00 00
> > > > > > receive:
> > > > > > 04 01 01 90 00 00 00 00 E3 17 00 01 04 70 00 75 00 62 00 73 00 06
> > > > > > 6D 00 61
> > > > > > 00 73 00 74 00 65 00 72 00 AB 5E 00 45 16 00 00 02 00 23 00 43 00
> > > > > > 68 00 61
> > > > > > 00 6E 00 67 00 65 00 64 00 20 00 64 00 61 00 74 00 61 00 62 00 61
> > > > > > 00 73 00
> > > > > > 65 00 20 00 63 00 6F 00 6E 00 74 00 65 00 78 00 74 00 20 00 74 00
> > > > > > 6F 00 20
> > > > > > 00 27 00 70 00
> > > > > > receive:
> > > > > > 75 00 62 00 73 00 27 00 2E 00 06 4C 00 41 00 50 00 54 00 4F 00 50
> > > > > > 00 00 00
> > > > > > 00 E3 17 00 02 0A 75 00 73 00 5F 00 65 00 6E 00 67 00 6C 00 69 00
> > > > > > 73 00 68
> > > > > > 00 00 AB 66 00 47 16 00 00 01 00 27 00 43 00 68 00 61 00 6E 00 67
> > > > > > 00 65 00
> > > > > > 64 00 20 00 6C 00 61 00 6E 00 67 00 75 00 61 00 67 00 65 00 20 00
> > > > > > 73 00 65
> > > > > > 00 74 00 74 00
> > > > > > receive:
> > > > > > 69 00 6E 00 67 00 20 00 74 00 6F 00 20 00 75 00 73 00 5F 00 65 00
> > > > > > 6E 00 67
> > > > > > 00 6C 00 69 00 73 00 68 00 2E 00 06 4C 00 41 00 50 00 54 00 4F 00
> > > > > > 50 00 00
> > > > > > 00 00 E3 0F 00 03 05 69 00 73 00 6F 00 5F 00 31 00 01 00 00 E3 0B
> > > > > > 00 05 04
> > > > > > 31 00 30 00 33 00 33 00 00 E3 0F 00 06 06 31 00 39 00 36 00 36 00
> > > > > > 31 00 31
> > > > > > 00 00 AD 36 00
> > > > > > receive:
> > > > > > 01 07 00 00 00 16 4D 00 69 00 63 00 72 00 6F 00 73 00 6F 00 66 00
> > > > > > 74 00 20
> > > > > > 00 53 00 51 00 4C 00 20 00 53 00 65 00 72 00 76 00 65 00 72 00 00
> > > > > > 00 00 00
> > > > > > 07 00 02 6F E3 13 00 04 04 34 00 30 00 39 00 36 00 04 34 00 30 00
> > > > > > 39 00 36
> > > > > > 00 FD 00 00 00 00 00 00 00 00
> > > > > >
> > > > > > Is there a domcumentation about this sequence ? Where i can know
> > > > > > what mean
> > > > > > this others packets ??
> > > > > >
> > > > > >
> > > > > > Regards!!
> > > > > >
> > > > > >
> > > > > > > On Sat, 30 Mar 2002, Fernando wrote:
> > > > > > >
> > > > > > > > Hello,
> > > > > > > >
> > > > > > > > I understand the value of packet size in header, thank
> > > > > > > > you. I do this
> > > > > > > > alteration and now after I send the pcaket to SQLServer don't
> > > > > > > > get a error
> > > > > > > > in EventLog, but I receive the following packet and my
> > > > > > > > connect is closed.
> > > > > > > > Why?
> > > > > > > >
> > > > > > > > 0401006200000000AA4E0018480000010E21004C006F00670069006E0020006600610069006C0065006400200066006F00720020007500730065007200200027006600650072006E0061006E0064006F0027002E0000000000FD0200000000000000
> > > > > > > 0x04 is a response packet
> > > > > > > 0xAA is TDS_ERR_TOKEN (see token.c in src/tds for details of
> > > > > > > it's
> > > > > > > structure). somewhere in there is the error message (in UCS-2,
> > > > > > > strip the
> > > > > > > high order byte to convert to iso-1)
> > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > I see this packet type in freeTDS documentation, but i don't
> > > > > > > > know it mean.
> > > > > > > > Can you explain for me ? (Excuse me by bother)
> > > > > > > >
> > > > > > > >
> > > > > > > > Regards!!
> > > > > > > >
> > > > > > > >
> > > > > > > > > This code is correct but doesn't show the 8 byte netlib
> > > > > > > > > header that is
> > > > > > > > > sent by tds_write_packet() in write.c
> > > > > > > > >
> > > > > > > > > That is the value that is off.
> > > > > > > > >
> > > > > > > > > On Sat, 30 Mar 2002, Fernando wrote:
> > > > > > > > >
> > > > > > > > > > Hello,
> > > > > > > > > >
> > > > > > > > > > Brian, I see the following conde in file login.c :
> > > > > > > > > >
> > > > > > > > > > //.....
> > > > > > > > > > packet_size = size1 + 48;
> > > > > > > > > > tds_put_smallint(tds,packet_size); //total packet size
> > > > > > > > > > tds_put_n(tds,NULL,5);
> > > > > > > > > > if (IS_TDS80(tds)) {
> > > > > > > > > > tds_put_byte(tds,0x80);
> > > > > > > > > > } else {
> > > > > > > > > > tds_put_byte(tds,0x70);
> > > > > > > > > > }
> > > > > > > > > > tds_put_n(tds,NULL,7);
> > > > > > > > > > //.....
> > > > > > > > > >
> > > > > > > > > > In this code, the big value(plus48) is putting in payload
> > > > > > > > > > section. I'm
> > > > > > > > > > again confused. Which way is correct ?
> > > > > > > > > >
> > > > > > > > > > Can I send this packet after of the socket connection is
> > > > > > > > > > open or i have
> > > > > > > > > > send a other packet before ? Why the QueryAnalyser after
> > > > > > > > > > of the connection
> > > > > > > > > > with port 1433 it send a packet 0x12 ?
> > > > > > > > > >
> > > > > > > > > > Regards!!
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > > Your netlib header size is still wrong, it should be
> > > > > > > > > > > 00D8.
> > > > > > > > > > >
> > > > > > > > > > > On Fri, 29 Mar 2002, Fernando wrote:
> > > > > > > > > > >
> > > > > > > > > > > > Hello,
> > > > > > > > > > > >
> > > > > > > > > > > > I do the alterations referent "byte order", still
> > > > > > > > > > > > has anything wrong in
> > > > > > > > > > > > down pakcket ? When I send this packet to MSSQLServer
> > > > > > > > > > > > I get a error :
> > > > > > > > > > > > ----------
> > > > > > > > > > > > Error: 17832, Severity: 18, State: 6
> > > > > > > > > > > > 2002-03-30 00:26:35.40 ods Connection opened but
> > > > > > > > > > > > invalid login
> > > > > > > > > > > > packet(s) sent. Connection closed..
> > > > > > > > > > > > ----------
> > > > > > > > > > > >
> > > > > > > > > > > > Can I send this packet after of the socket connection
> > > > > > > > > > > > is open or i have
> > > > > > > > > > > > send a other packet before ?
> > > > > > > > > > > >
> > > > > > > > > > > > //TDS70LoginPacket
> > > > > > > > > > > > 100100A800000100D800000000000070000000000000000682F2F8FF00000000E003000088FFFFFF3604000056000000560008006600060072000800820009000000000094000A00A8000000A80000000040339A6B50A8003000D80000006600650072006E0061006E0064006F006100620063003100320033005400440053005400720061006300650053006100740065006C006C00690074006500440042002D004C006900620072006100720079004E544C4D5353500001000000068200000000000000000000000000000000000000000000300000000000000030000000
> > > > > > > > > > > > //Header
> > > > > > > > > > > > 10 --Packet type
> > > > > > > > > > > > 01 --Last packet indicator
> > > > > > > > > > > > 00A8 --Partial Packet size (Big endian)
> > > > > > > > > > > > 00000100 --unknow (00000100 or 00000000) ???
> > > > > > > > > > > > //Payload
> > > > > > > > > > > > D800 --Total Packet size (Little endian)
> > > > > > > > > > > > 0000000000 --unknow
> > > > > > > > > > > > 70 --Version number
> > > > > > > > > > > > 00000000000000 --unknow
> > > > > > > > > > > > 0682F2F8FF00000000E003000088FFFFFF36040000 --magic1
> > > > > > > > > > > > 5600 --Position of hostname (Little endian)
> > > > > > > > > > > > 0000 --Length of hostname (Little endian)
> > > > > > > > > > > > 5600 --Position of username (Little endian)
> > > > > > > > > > > > 0800 --Length of username (Little endian)
> > > > > > > > > > > > 6600 --Position of password (Little endian)
> > > > > > > > > > > > 0600 --Length of password (Little endian)
> > > > > > > > > > > > 7200 --Position of appname (Little endian)
> > > > > > > > > > > > 0800 --Length of appname (Little endian)
> > > > > > > > > > > > 8200 --Position of servername (Little endian)
> > > > > > > > > > > > 0900 --Length of servername (Little endian)
> > > > > > > > > > > > 0000 --Position of unknow (Little endian)
> > > > > > > > > > > > 0000 --Length of unknow (Little endian)
> > > > > > > > > > > > 9400 --Position of libname (Little endian)
> > > > > > > > > > > > 0A00 --Length of libame (Little endian)
> > > > > > > > > > > > A800 --Position of language (Little endian)
> > > > > > > > > > > > 0000 --Length of language (Little endian)
> > > > > > > > > > > > A800 --Position of dbname (Little endian)
> > > > > > > > > > > > 0000 --Length of dbame (Little endian)
> > > > > > > > > > > > 0040339A6B50 --magic2
> > > > > > > > > > > > A800 --Partial packet size (Little endian)
> > > > > > > > > > > > 3000 --unknow (Little endian)
> > > > > > > > > > > > D800 --Total packet size (Little endian)
> > > > > > > > > > > > 0000 --unknow
> > > > > > > > > > > > 6600650072006E0061006E0064006F00 --username (fernando)
> > > > > > > > > > > > 610062006300310032003300 --password (abc123)
> > > > > > > > > > > > 54004400530054007200610063006500 --appname (TDSTrace)
> > > > > > > > > > > > 53006100740065006C006C00690074006500 --servername
> > > > > > > > > > > > (Satellite)
> > > > > > > > > > > > 440042002D004C00690062007200610072007900 --libname
> > > > > > > > > > > > (DB-Library)
> > > > > > > > > > > > 4E544C4D535350 --"NTLMSSSP"
> > > > > > > > > > > > 00 --unknow
> > > > > > > > > > > > 01 --unknow
> > > > > > > > > > > > 000000 --unknow
> > > > > > > > > > > > 06 --unknow
> > > > > > > > > > > > 82 --unknow
> > > > > > > > > > > > 00000000000000000000000000000000000000000000 --unknow
> > > > > > > > > > > > 30 --unknow
> > > > > > > > > > > > 00000000000000 --unknow
> > > > > > > > > > > > 30 --unknow
> > > > > > > > > > > > 000000 --unknow
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > Regards!!
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > > On Fri, 29 Mar 2002, Fernando wrote:
> > > > > > > > > > > > >
> > > > > > > > > > > > > > Hello,
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Denove: Thank you very mutch by attetion Brian
> > > > > > > > > > > > > > Bruns.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Why the packet size 00A8 is incorrect ?
> > > > > > > > > > > > >
> > > > > > > > > > > > > A8 refers to the portion of the packet up to the
> > > > > > > > > > > > > end of the variable
> > > > > > > > > > > > > fields. The size of the whole packet is that plus
> > > > > > > > > > > > > 48 (0x30) bytes or D8
> > > > > > > > > > > > > in your specific example. So D8 is actually
> > > > > > > > > > > > > specified in the payload but
> > > > > > > > > > > > > not in the netlib header. The size field in the
> > > > > > > > > > > > > netlib header is in
> > > > > > > > > > > > > "network byte order" or bigendian for historical
> > > > > > > > > > > > > reasons, but values in
> > > > > > > > > > > > > the the payload will be little endian for TDS 7/8
> > > > > > > > > > > > > and negotiated for TDS
> > > > > > > > > > > > > 4/5.
> > > > > > > > > > > > >
> > > > > > > > > > > > > > The integer fields are in big endian. In TDS70
> > > > > > > > > > > > > > packet I have tha
> > > > > > > > > > > > > > represent the decimal 86 such as 5600 and not
> > > > > > > > > > > > > > 0056, by sample ? I can say
> > > > > > > > > > > > > > how is it?
> > > > > > > > > > > > >
> > > > > > > > > > > > > correct, in your payload size field you have 00d8
> > > > > > > > > > > > > which is d800 little
> > > > > > > > > > > > > endian.
> > > > > > > > > > > > >
> > > > > > > > > > > > > > Could you answer the following box ?
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > ---------------------------------------------------
> > > > > > > > > > > > > > Tipo | Decimal | Big endian | Little endian
> > > > > > > > > > > > > > |
> > > > > > > > > > > > > > ---------------------------------------------------
> > > > > > > > > > > > > > int8 | 5 | 0x05 | 0x05
> > > > > > > > > > > > > > |
> > > > > > > > > > > > > > ---------------------------------------------------
> > > > > > > > > > > > > > int8 | 20 | 0x14 | 0x14
> > > > > > > > > > > > > > |
> > > > > > > > > > > > > > ---------------------------------------------------
> > > > > > > > > > > > > > int16 | 210 | 0x00D2 | 0xD200
> > > > > > > > > > > > > > |
> > > > > > > > > > > > > > ---------------------------------------------------
> > > > > > > > > > > > > > int32 | 320 | 0x00000140 | 0x40010000
> > > > > > > > > > > > > > |
> > > > > > > > > > > > > > ---------------------------------------------------
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Regards!!
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > > Sorry, I only had a brief couple of minutes to
> > > > > > > > > > > > > > > look at the packet....your
> > > > > > > > > > > > > > > netlib packet size is 00A8 which is not
> > > > > > > > > > > > > > > correct. And many of the integer
> > > > > > > > > > > > > > > fields appear to be big endian, TDS 7 is a
> > > > > > > > > > > > > > > little endian only protocol.
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > Brian
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > On Fri, 29 Mar 2002, Fernando wrote:
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > Hello,
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > Then which wrong points in login packet ?
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > "fernando" = 6600650072006E0061006E0064006F00
> > > > > > > > > > > > > > > > or 6665726E616E646F ???
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > Could you see my old message in this news
> > > > > > > > > > > > > > > > (Subject:Any question about TDS)
> > > > > > > > > > > > > > > > ??
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > Regards!!
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > oops, my bad on the strings, yes you are
> > > > > > > > > > > > > > > > > correct. The other things are
> > > > > > > > > > > > > > > > > still problematic though.
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > Brian
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > On Fri, 29 Mar 2002, Fernando wrote:
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > Hello,
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > Tank you very mutch by attetion Brian
> > > > > > > > > > > > > > > > > > Bruns. In your analyse you did
> > > > > > > > > > > > > > > > > > question the following points:
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > 00D8 packet size bigger than the netlib
> > > > > > > > > > > > > > > > > > > header, and apparently in the
> > > > > > > > > > > > > > > > > > > wrong byte order
> > > > > > > > > > > > > > > > > > > 0066 pos password, 0x56 + 0x08 != 0x66
> > > > > > > > > > > > > > > > > > > 0082 pos servername, 0x72 + 0x08 != 82
> > > > > > > > > > > > > > > > > > > 0094 pos libname, 0x82 + 9 != 0x94
> > > > > > > > > > > > > > > > > > > 00A8 pos lang, 0x94 + A != A8
> > > > > > > > > > > > > > > > > > > 00A8 size of (8 + 6 + 8 + 9 + 10 = 41 +
> > > > > > > > > > > > > > > > > > > 86 (fixed portion) = 127 = 0x7F)
> > > > > > > > > > > > > > > > > > > so your variable data ends at 0x7F (i
> > > > > > > > > > > > > > > > > > > think) but your numbers are off all
> > > > > > > > > > > > > > > > > > > the way through.
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > I see this code in freetds java source:
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > //....
> > > > > > > > > > > > > > > > > > short len = (short)(86 + 2 *
> > > > > > > > > > > > > > > > > > (user.length() +
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > password.length() +
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > appName.length() +
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > serverName.length() +
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > libName.length()));
> > > > > > > > > > > > > > > > > > //....
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > comm.appendTdsShort((short)user.length());
> > > > > > > > > > > > > > > > > > <-- 1x
> > > > > > > > > > > > > > > > > > curPos += user.length() * 2;
> > > > > > > > > > > > > > > > > > <-- 2x
> > > > > > > > > > > > > > > > > > //....
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > Then, i puting the double of strings
> > > > > > > > > > > > > > > > > > length (mybe Unicode):
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > 0x56 + 0x08 != 0x66 -- but, 0x56 +
> > > > > > > > > > > > > > > > > > 2*(0x08) = 0x66
> > > > > > > > > > > > > > > > > > 0x72 + 0x08 != 82 -- but, 0x72 +
> > > > > > > > > > > > > > > > > > 2*(0x08) = 0x82
> > > > > > > > > > > > > > > > > > 0x82 + 9 != 0x94 -- but, 0x82 +
> > > > > > > > > > > > > > > > > > 2*(0x09) = 0x94
> > > > > > > > > > > > > > > > > > 0x94 + A != A8 -- but, 0x94 +
> > > > > > > > > > > > > > > > > > 2*(0x0A) = 0xA8
> > > > > > > > > > > > > > > > > > 00A8 size of (8 + 6 + 8 + 9 + 10 = 41 +
> > > > > > > > > > > > > > > > > > 86 (fixed portion) = 127 = 0x7F)
> > > > > > > > > > > > > > > > > > but, 2*((8 + 6 + 8 + 9 + 10) = 82 +
> > > > > > > > > > > > > > > > > > 86 (fixed portion) = 168 = 0xA8)
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > I'm confused. Wich way is correct ?
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > "fernando" =
> > > > > > > > > > > > > > > > > > 6600650072006E0061006E0064006F00 or
> > > > > > > > > > > > > > > > > > 6665726E616E646F ???
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > Could you see my message(Any question
> > > > > > > > > > > > > > > > > > about TDS) ??
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > Regards !!
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > On Fri, 29 Mar 2002, Fernando wrote:
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > Hello All,
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > Anybody know say me if the TD7.0
> > > > > > > > > > > > > > > > > > > > login packet following is valid ?
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > UserName = 'fernando'
> > > > > > > > > > > > > > > > > > > > Pwd = 'abc123'
> > > > > > > > > > > > > > > > > > > > ServerName = 'Satellite'
> > > > > > > > > > > > > > > > > > > > AppName = 'TDSTrace'
> > > > > > > > > > > > > > > > > > > > LibraryName = 'DB-Library'
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > /* netlib header */
> > > > > > > > > > > > > > > > > > > 10 0x10 TDS 7 login packet identifier
> > > > > > > > > > > > > > > > > > > 01 Last packet indicator ( true )
> > > > > > > > > > > > > > > > > > > 00A8 packet size (168 octets)
> > > > > > > > > > > > > > > > > > > 00001000 unknown
> > > > > > > > > > > > > > > > > > > /* TDS payload */
> > > > > > > > > > > > > > > > > > > 00D8 packet size bigger than the netlib
> > > > > > > > > > > > > > > > > > > header, and apparently in the
> > > > > > > > > > > > > > > > > > > wrong byte order
> > > > > > > > > > > > > > > > > > > 0000000000
> > > > > > > > > > > > > > > > > > > five 0x00's, ok
> > > > > > > > > > > > > > > > > > > 70 version number, ok
> > > > > > > > > > > > > > > > > > > 00000000000000
> > > > > > > > > > > > > > > > > > > seven 0x00's, ok
> > > > > > > > > > > > > > > > > > > 0682F2F8FF00000000E003000088FFFFFF36040000
> > > > > > > > > > > > > > > > > > > magic, agrees with mine, ok
> > > > > > > > > > > > > > > > > > > 0056 position of hostname, ok
> > > > > > > > > > > > > > > > > > > 0000 length of hostname, ok
> > > > > > > > > > > > > > > > > > > 0056 pos of username, ok
> > > > > > > > > > > > > > > > > > > 0008 len of username, ok
> > > > > > > > > > > > > > > > > > > 0066 pos password, 0x56 + 0x08 != 0x66
> > > > > > > > > > > > > > > > > > > 0006 len password, ok
> > > > > > > > > > > > > > > > > > > 0072 pos appname, ok
> > > > > > > > > > > > > > > > > > > 0008 len appname, ok
> > > > > > > > > > > > > > > > > > > 0082 pos servername, 0x72 + 0x08 != 82
> > > > > > > > > > > > > > > > > > > 0009 len servername, ok
> > > > > > > > > > > > > > > > > > > 0000 pos unknown
> > > > > > > > > > > > > > > > > > > 0000 len unknown
> > > > > > > > > > > > > > > > > > > 0094 pos libname, 0x82 + 9 != 0x94
> > > > > > > > > > > > > > > > > > > 000A len libname, ok
> > > > > > > > > > > > > > > > > > > 00A8 pos lang, 0x94 + A != A8
> > > > > > > > > > > > > > > > > > > 0000 len lang, ok
> > > > > > > > > > > > > > > > > > > 00A8 pos dbname, ok
> > > > > > > > > > > > > > > > > > > 0000 len dbname, ok
> > > > > > > > > > > > > > > > > > > 0040339A6B50
> > > > > > > > > > > > > > > > > > > magic2, ok
> > > > > > > > > > > > > > > > > > > 00A8 size of (8 + 6 + 8 + 9 + 10 = 41 +
> > > > > > > > > > > > > > > > > > > 86 (fixed portion) = 127 = 0x7F)
> > > > > > > > > > > > > > > > > > > so your variable data ends at 0x7F (i
> > > > > > > > > > > > > > > > > > > think) but your numbers are off all
> > > > > > > > > > > > > > > > > > > the way through.
> > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > 003000D800006600650072006E0061006E0064006F00610062006300310032003300540044005300540072006100630065006C006F00630061006C0068006F0073007400440042002D004C006900620072006100720079004E544C4D5353500001000000068200000000000000000000000000000000000000000000300000000000000030000000
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > Regards!
> > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > ---
> > > > > > > > > > > > > > > > > > You are currently subscribed to freetds
> > > > > > > > > > > > > > > > > > as: [camber AT ais.org]
> > > > > > > > > > > > > > > > > > To unsubscribe, forward this message to
> > > > > > > > > > > > > > > > > > $subst('Email.Unsub')
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > ---
> > > > > > > > > > > > > > > > You are currently subscribed to freetds as:
> > > > > > > > > > > > > > > > [camber AT ais.org]
> > > > > > > > > > > > > > > > To unsubscribe, forward this message to
> > > > > > > > > > > > > > > > $subst('Email.Unsub')
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > ---
> > > > > > > > > > > > > > You are currently subscribed to freetds as:
> > > > > > > > > > > > > > [camber AT ais.org]
> > > > > > > > > > > > > > To unsubscribe, forward this message to
> > > > > > > > > > > > > > $subst('Email.Unsub')
> > > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > ---
> > > > > > > > > > > > You are currently subscribed to freetds as:
> > > > > > > > > > > > [camber AT ais.org]
> > > > > > > > > > > > To unsubscribe, forward this message to
> > > > > > > > > > > > $subst('Email.Unsub')
> > > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > ---
> > > > > > > > > > You are currently subscribed to freetds as:
> > > > > > > > > > [camber AT ais.org]
> > > > > > > > > > To unsubscribe, forward this message to
> > > > > > > > > > $subst('Email.Unsub')
> > > > > > > > > >
> > > > > > > >
> > > > > > > > ---
> > > > > > > > You are currently subscribed to freetds as: [camber AT ais.org]
> > > > > > > > To unsubscribe, forward this message to $subst('Email.Unsub')
> > > > > > > >
> > > > > >
> > > > > > ---
> > > > > > You are currently subscribed to freetds as: [camber AT ais.org]
> > > > > > To unsubscribe, forward this message to $subst('Email.Unsub')
> > > > > >
> > > >
> > > > ---
> > > > You are currently subscribed to freetds as: [camber AT ais.org]
> > > > To unsubscribe, forward this message to $subst('Email.Unsub')
> > > >
> >
> > ---
> > You are currently subscribed to freetds as: [camber AT ais.org]
> > To unsubscribe, forward this message to $subst('Email.Unsub')
> >




Archive powered by MHonArc 2.6.24.

Top of Page