svn commit: samba r10914 - in branches/SAMBA_4_0/source: dsdb/samdb
ldap_server lib lib/ldb/common lib/ldb/include
nbt_server/wins scripting/ejs
tridge at samba.org
tridge at samba.org
Wed Oct 12 06:30:49 GMT 2005
Author: tridge
Date: 2005-10-12 06:30:47 +0000 (Wed, 12 Oct 2005)
New Revision: 10914
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=10914
Log:
moved the ldap time string functions into ldb so they can be used by
the time attribute handling functions
Modified:
branches/SAMBA_4_0/source/dsdb/samdb/samdb.c
branches/SAMBA_4_0/source/ldap_server/ldap_rootdse.c
branches/SAMBA_4_0/source/lib/ldb/common/ldb_msg.c
branches/SAMBA_4_0/source/lib/ldb/include/ldb.h
branches/SAMBA_4_0/source/lib/time.c
branches/SAMBA_4_0/source/nbt_server/wins/winsdb.c
branches/SAMBA_4_0/source/scripting/ejs/smbcalls_sys.c
Changeset:
Modified: branches/SAMBA_4_0/source/dsdb/samdb/samdb.c
===================================================================
--- branches/SAMBA_4_0/source/dsdb/samdb/samdb.c 2005-10-12 06:10:23 UTC (rev 10913)
+++ branches/SAMBA_4_0/source/dsdb/samdb/samdb.c 2005-10-12 06:30:47 UTC (rev 10914)
@@ -909,19 +909,6 @@
}
/*
- set a ldaptime element in a message
-*/
-int samdb_msg_set_ldaptime(struct ldb_context *sam_ldb, TALLOC_CTX *mem_ctx, struct ldb_message *msg,
- const char *attr_name, time_t t)
-{
- char *str = ldap_timestring(mem_ctx, t);
- if (!str) {
- return -1;
- }
- return samdb_msg_set_string(sam_ldb, mem_ctx, msg, attr_name, str);
-}
-
-/*
add a record
*/
int samdb_add(struct ldb_context *sam_ldb, TALLOC_CTX *mem_ctx, struct ldb_message *msg)
Modified: branches/SAMBA_4_0/source/ldap_server/ldap_rootdse.c
===================================================================
--- branches/SAMBA_4_0/source/ldap_server/ldap_rootdse.c 2005-10-12 06:10:23 UTC (rev 10913)
+++ branches/SAMBA_4_0/source/ldap_server/ldap_rootdse.c 2005-10-12 06:30:47 UTC (rev 10914)
@@ -90,7 +90,7 @@
{
int num_currentTime = 1;
DATA_BLOB *currentTime = talloc_array(mem_ctx, DATA_BLOB, num_currentTime);
- char *str = ldap_timestring(mem_ctx, time(NULL));
+ char *str = ldb_timestring(mem_ctx, time(NULL));
NT_STATUS_HAVE_NO_MEMORY(str);
currentTime[0].data = (uint8_t *)str;
currentTime[0].length = strlen(str);
@@ -316,7 +316,7 @@
for (j=0; j < ent->num_attributes; j++) {
if (ent->attributes[j].num_values == 1 &&
ent->attributes[j].values[0].length >= 9 &&
- strncmp(ent->attributes[j].values[0].data, "_DYNAMIC_", 9) == 0) {
+ strncmp((char *)ent->attributes[j].values[0].data, "_DYNAMIC_", 9) == 0) {
status = fill_dynamic_values(ent->attributes, &(ent->attributes[j]));
if (!NT_STATUS_IS_OK(status)) {
return status;
Modified: branches/SAMBA_4_0/source/lib/ldb/common/ldb_msg.c
===================================================================
--- branches/SAMBA_4_0/source/lib/ldb/common/ldb_msg.c 2005-10-12 06:10:23 UTC (rev 10913)
+++ branches/SAMBA_4_0/source/lib/ldb/common/ldb_msg.c 2005-10-12 06:30:47 UTC (rev 10914)
@@ -36,6 +36,7 @@
#include "ldb/include/ldb.h"
#include "ldb/include/ldb_errors.h"
#include "ldb/include/ldb_private.h"
+#include <time.h>
/*
create a new ldb_message in a given memory context (NULL for top level)
@@ -594,3 +595,45 @@
return 0;
}
+
+/*
+ return a LDAP formatted time string
+*/
+char *ldb_timestring(TALLOC_CTX *mem_ctx, time_t t)
+{
+ struct tm *tm = gmtime(&t);
+
+ if (!tm) {
+ return NULL;
+ }
+
+ /* formatted like: 20040408072012.0Z */
+ return talloc_asprintf(mem_ctx,
+ "%04u%02u%02u%02u%02u%02u.0Z",
+ tm->tm_year+1900, tm->tm_mon+1,
+ tm->tm_mday, tm->tm_hour, tm->tm_min,
+ tm->tm_sec);
+}
+
+
+/*
+ convert a LDAP time string to a time_t. Return 0 if unable to convert
+*/
+time_t ldb_string_to_time(const char *s)
+{
+ struct tm tm;
+
+ if (s == NULL) return 0;
+
+ ZERO_STRUCT(tm);
+ if (sscanf(s, "%04u%02u%02u%02u%02u%02u.0Z",
+ &tm.tm_year, &tm.tm_mon, &tm.tm_mday,
+ &tm.tm_hour, &tm.tm_min, &tm.tm_sec) != 6) {
+ return 0;
+ }
+ tm.tm_year -= 1900;
+ tm.tm_mon -= 1;
+
+ return timegm(&tm);
+}
+
Modified: branches/SAMBA_4_0/source/lib/ldb/include/ldb.h
===================================================================
--- branches/SAMBA_4_0/source/lib/ldb/include/ldb.h 2005-10-12 06:10:23 UTC (rev 10913)
+++ branches/SAMBA_4_0/source/lib/ldb/include/ldb.h 2005-10-12 06:30:47 UTC (rev 10914)
@@ -497,4 +497,7 @@
void ldb_msg_rename_attr(struct ldb_message *msg, const char *attr, const char *replace);
int ldb_msg_copy_attr(struct ldb_message *msg, const char *attr, const char *replace);
+char *ldb_timestring(TALLOC_CTX *mem_ctx, time_t t);
+time_t ldb_string_to_time(const char *s);
+
#endif
Modified: branches/SAMBA_4_0/source/lib/time.c
===================================================================
--- branches/SAMBA_4_0/source/lib/time.c 2005-10-12 06:10:23 UTC (rev 10913)
+++ branches/SAMBA_4_0/source/lib/time.c 2005-10-12 06:30:47 UTC (rev 10914)
@@ -301,47 +301,6 @@
return buf;
}
-/*
- return a LDAP time string
-*/
-char *ldap_timestring(TALLOC_CTX *mem_ctx, time_t t)
-{
- struct tm *tm = gmtime(&t);
-
- if (!tm) {
- return NULL;
- }
-
- /* formatted like: 20040408072012.0Z */
- return talloc_asprintf(mem_ctx,
- "%04u%02u%02u%02u%02u%02u.0Z",
- tm->tm_year+1900, tm->tm_mon+1,
- tm->tm_mday, tm->tm_hour, tm->tm_min,
- tm->tm_sec);
-}
-
-
-/*
- convert a LDAP time string to a time_t. Return 0 if unable to convert
-*/
-time_t ldap_string_to_time(const char *s)
-{
- struct tm tm;
-
- if (s == NULL) return 0;
-
- ZERO_STRUCT(tm);
- if (sscanf(s, "%04u%02u%02u%02u%02u%02u.0Z",
- &tm.tm_year, &tm.tm_mon, &tm.tm_mday,
- &tm.tm_hour, &tm.tm_min, &tm.tm_sec) != 6) {
- return 0;
- }
- tm.tm_year -= 1900;
- tm.tm_mon -= 1;
-
- return timegm(&tm);
-}
-
/****************************************************************************
Return the date and time as a string
****************************************************************************/
Modified: branches/SAMBA_4_0/source/nbt_server/wins/winsdb.c
===================================================================
--- branches/SAMBA_4_0/source/nbt_server/wins/winsdb.c 2005-10-12 06:10:23 UTC (rev 10913)
+++ branches/SAMBA_4_0/source/nbt_server/wins/winsdb.c 2005-10-12 06:30:47 UTC (rev 10914)
@@ -136,7 +136,7 @@
rec->name = name;
rec->state = ldb_msg_find_int(res[0], "active", WINS_REC_RELEASED);
rec->nb_flags = ldb_msg_find_int(res[0], "nbFlags", 0);
- rec->expire_time = ldap_string_to_time(ldb_msg_find_string(res[0], "expires", NULL));
+ rec->expire_time = ldb_string_to_time(ldb_msg_find_string(res[0], "expires", NULL));
rec->registered_by = ldb_msg_find_string(res[0], "registeredBy", NULL);
rec->version = ldb_msg_find_uint64(res[0], "version", 0);
talloc_steal(rec, rec->registered_by);
@@ -187,7 +187,7 @@
ret |= ldb_msg_add_fmt(msg, "nbFlags", "0x%04x", rec->nb_flags);
ret |= ldb_msg_add_string(msg, "registeredBy", rec->registered_by);
ret |= ldb_msg_add_string(msg, "expires",
- ldap_timestring(msg, rec->expire_time));
+ ldb_timestring(msg, rec->expire_time));
ret |= ldb_msg_add_fmt(msg, "version", "%llu", rec->version);
for (i=0;rec->addresses[i];i++) {
ret |= ldb_msg_add_string(msg, "address", rec->addresses[i]);
Modified: branches/SAMBA_4_0/source/scripting/ejs/smbcalls_sys.c
===================================================================
--- branches/SAMBA_4_0/source/scripting/ejs/smbcalls_sys.c 2005-10-12 06:10:23 UTC (rev 10913)
+++ branches/SAMBA_4_0/source/scripting/ejs/smbcalls_sys.c 2005-10-12 06:30:47 UTC (rev 10914)
@@ -23,6 +23,7 @@
#include "includes.h"
#include "scripting/ejs/smbcalls.h"
#include "lib/appweb/ejs/ejs.h"
+#include "lib/ldb/include/ldb.h"
#include "system/time.h"
/*
@@ -111,7 +112,7 @@
return -1;
}
t = nt_time_to_unix(mprVarToNumber(argv[0]));
- s = ldap_timestring(mprMemCtx(), t);
+ s = ldb_timestring(mprMemCtx(), t);
mpr_Return(eid, mprString(s));
talloc_free(s);
return 0;
More information about the samba-cvs
mailing list