bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacs-22.2: regression, cannot compile with heimdal but can with mit-krb


From: Martin MOKREJŠ
Subject: emacs-22.2: regression, cannot compile with heimdal but can with mit-krb5
Date: Tue, 01 Apr 2008 22:48:29 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.13) Gecko/20080328 SeaMonkey/1.1.9

Hi,
 it seems there is an new incompatibility introduced in 22.2.
I would like to point you to the bug report at http://bugs.gentoo.org/show_bug.cgi?id=215558


Briefly (credits to Michael Hammer (mueli)):

Here is the definition of the krb5_error struct in mit-krb5 which seams
compatible with emacs-22.2:

typedef struct _krb5_error {
   krb5_magic magic;
   /* some of these may be meaningless in certain contexts */
   krb5_timestamp ctime;               /* client sec portion; optional */
   krb5_int32 cusec;                   /* client usec portion; optional */
   krb5_int32 susec;                   /* server usec portion */
   krb5_timestamp stime;               /* server sec portion */
   krb5_ui_4 error;                    /* error code (protocol error #'s) */
   krb5_principal client;              /* client's principal identifier;
                                          optional */
   krb5_principal server;              /* server's principal identifier */
   krb5_data text;                     /* descriptive text */
   krb5_data e_data;                   /* additional error-describing data */
} krb5_error;

and here is the heimdal code. You can see that the struct members are named
differently:
typedef struct KRB_ERROR {
 krb5int32 pvno;
 MESSAGE_TYPE msg_type;
 KerberosTime *ctime;
 krb5int32 *cusec;
 KerberosTime stime;
 krb5int32 susec;
 krb5int32 error_code;
 Realm *crealm;
 PrincipalName *cname;
 Realm realm;
 PrincipalName sname;
 heim_general_string *e_text;
 heim_octet_string *e_data;
} KRB_ERROR;


You can see the difference:

krb5_data text; <-> heim_general_string *e_text;
---
text <-> e_text

Is it possible to patch pop.c that it supports both versions? I would say
that's an issue for emacs upstream - isn't it?


One more comment on this topic. I've just looked into rfc4120 (2005) (didn't
change from RFC1510 (1993) which is referred to in
http://web.mit.edu/Kerberos/papers.html#k5-protocol) and found that heimdal is
here the standard conform implementation:

  KRB-ERROR       ::= [APPLICATION 30] SEQUENCE {
          pvno            [0] INTEGER (5),
          msg-type        [1] INTEGER (30),
          ctime           [2] KerberosTime OPTIONAL,
          cusec           [3] Microseconds OPTIONAL,
          stime           [4] KerberosTime,
          susec           [5] Microseconds,
          error-code      [6] Int32,
          crealm          [7] Realm OPTIONAL,
          cname           [8] PrincipalName OPTIONAL,
          realm           [9] Realm -- service realm --,
          sname           [10] PrincipalName -- service name --,
          e-text          [11] KerberosString OPTIONAL,
          e-data          [12] OCTET STRING OPTIONAL
  }




Please if possible, post an answer&fix to the bugzilla at gentoo.org as well.
Thanks,
martin




reply via email to

[Prev in Thread] Current Thread [Next in Thread]